Quartz executando como uma Queue?

0 respostas
aix

Bom dia,

estou utilizando o Quartz em uma app com java SE, a aplicação funciona de boa porém gostaria de garantir que minhas Jobs executassem em fila e de uma forma sincrona uma após a outra ex: gostaria que a job2  executasse depois que a job1 terminar ja li a doc mas não entendi como fazer vi que tem as annotation que utilizo para evitar multiplas instancias executanto simultaneamente que daria o mesmo que implementar a interface StatefulJob, utilizo a versão 2.1.7 que são:

Alguem ja fez algo do tipo que possa me ajudar ?

@DisallowConcurrentExecution
@PersistJobDataAfterExecution
public class JobImportaTXT implements Job {

Aqui adiciono minhas Jobs…

private static void startScheduler() {
        SchedulerNFSe agenda = new SchedulerNFSe();
        agenda.addJob(JobImportaTXT.class);
        agenda.addJob(JobGeraLote.class);
        agenda.addJob(JobEnviaLote.class);
        agenda.addJob(JobConsultaSituacaoLote.class);
        agenda.addJob(JobConsultaLote.class);
        agenda.addJob(JobCancelarNfse.class);
        agenda.start();
    }
/**
     * Adicionando serviços.
     *
     * @param object
     */
    public void addJob(Class object) {
        try {
            // Cria instância da fabrica.
            StdSchedulerFactory schedFactory = new StdSchedulerFactory();

            // Busca o agandador.
            scheduler = schedFactory.getScheduler();

            // Cria uma tarefa para ser executada..
            JobDetail jobBean = new JobDetailImpl(object.getName(), Scheduler.DEFAULT_GROUP, object) {
            };

            // Configuro os parametros.
            SimpleTrigger parametros = new SimpleTriggerImpl(object.getName(), Scheduler.DEFAULT_GROUP, new Date(), null, SimpleTrigger.REPEAT_INDEFINITELY, 300L * 1000L);

            // Parâmetros para o agendamento.
            java.util.Date data = scheduler.scheduleJob(jobBean, parametros);

            // Log
            getLog().info(new SimpleDateFormat().format(data));
        } catch (Exception ex) {
            logger.error(ex.getMessage());
        }
    }
Criado 3 de abril de 2013
Respostas 0
Participantes 1