package br.com.http.timer;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;
@Stateless
public class JobExecutor {
@PersistenceContext(unitName = "primary")
private EntityManager em;
@Transactional(Transactional.TxType.REQUIRES_NEW)
public JobExecution createExecution(Job job) {
JobExecution execution = new JobExecution(job);
em.persist(execution);
return execution;
}
@Transactional(Transactional.TxType.REQUIRES_NEW)
public void execute(JobExecution execution, Job job) {
execution = em.merge(execution);
execution.execute(job);
}
}