package br.com.centralit.citcorpore.quartz.job; import java.util.Collection; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import br.com.centralit.citcorpore.bean.RequisicaoProdutoDTO; import br.com.centralit.citcorpore.bpm.negocio.ExecucaoRequisicaoProduto; import br.com.centralit.citcorpore.integracao.RequisicaoProdutoDao; import br.com.citframework.excecao.PersistenceException; import br.com.citframework.integracao.TransactionControler; import br.com.citframework.integracao.TransactionControlerImpl; public class VerificaRequisicoesCompra implements Job { @SuppressWarnings("unchecked") public void execute(JobExecutionContext context) throws JobExecutionException { RequisicaoProdutoDao requisicaoProdutoDao = new RequisicaoProdutoDao(); TransactionControler tc = null; try{ Collection<RequisicaoProdutoDTO> requisicoes = requisicaoProdutoDao.consultaRequisicoesEmAndamento(); if (requisicoes != null) { ExecucaoRequisicaoProduto execucaoRequisicao = new ExecucaoRequisicaoProduto(); for (RequisicaoProdutoDTO requisicaoProdutoDto : requisicoes) { tc = new TransactionControlerImpl(requisicaoProdutoDao.getAliasDB()); try { tc.start(); execucaoRequisicao.setObjetoNegocioDto(requisicaoProdutoDto); execucaoRequisicao.setTransacao(tc); execucaoRequisicao.verificaExpiracao(); tc.commit(); } catch (Exception ex) { ex.printStackTrace(); try { if (tc.isStarted()) { // Se estiver startada, entao faz roolback. tc.rollback(); } } catch (final Exception e) { e.printStackTrace(); } }finally{ try { tc.close(); tc = null; } catch (PersistenceException e) { } } } } }catch (Exception e1) { e1.printStackTrace(); } } }