O agendamento do quartz será iniciado a partir do momento que vc inicie o servidor.
vou lhe enviar um exemplo que implementei, que faz uma atualização periódica.
publicclassApplicationStartupimplementsServletContextListener{publicvoidcontextDestroyed(ServletContextEventarg0){System.out.println("THE APPLICATION STOPPED");}publicvoidcontextInitialized(ServletContextEventarg0){System.out.println("THE APPLICATION STARTED");try{Log.logMessage(Level.INFO,"Agendando execução do Job");// Initiate a Schedule FactorySchedulerFactoryschedulerFactory=newStdSchedulerFactory();// Retrieve a scheduler from schedule factorySchedulerscheduler=schedulerFactory.getScheduler();// Initiate JobDetail with job name, job group, and executable job classJobDetailjobDetail=newJobDetail("jobDetail-s1","jobDetailGroup-s1",QuartzBloqueio.class);// Initiate SimpleTrigger with its name and group nameSimpleTriggersimpleTrigger=newSimpleTrigger("simpleTrigger","triggerGroup-s1");// set its start up timesimpleTrigger.setStartTime(newDate());// set the interval, how often the job should run (30 seconds here)simpleTrigger.setRepeatInterval(30000);// set the number of execution of this job, set to 10 times.// simpleTrigger.setRepeatCount(100);// It will run 10 time and exhaust.// Using the variable below, it will indefinitelysimpleTrigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);// set the ending time of this job.// We set it for 60 seconds from its startup time here// Even if we set its repeat count to 10,// this will stop its process after 6 repeats as it gets it endtime by then.//simpleTrigger.setEndTime(new Date(ctime + 60000L));// set priority of trigger. If not set, the default is 5//simpleTrigger.setPriority(10);// schedule a job with JobDetail and Triggerscheduler.scheduleJob(jobDetail,simpleTrigger);// start the schedulerLog.logMessage(Level.INFO,"Inicia o agendamento");scheduler.start();}catch(SchedulerExceptionse){Log.logMessage(Level.SEVERE,"Erro no agendamento do Job",se);//NotificacaoEmail.enviaEmail(se.getMessage());}catch(Exceptione){Log.logMessage(Level.SEVERE,"Erro não tratado do agendador de Jobs",e);//NotificacaoEmail.enviaEmail(e.getMessage());}}}
fabricioempresa
Bom pelo que eu entendi quando eu iniciar o servidor (independente do horario) ele vai repetir dentro do intervalo definido é isso?
O que eu precisa era colocar o horario de operacao do evento
Valeu.Obrigado pela ajuda
luciocamilo
Exatamente.
Para fazer em um horário específico não saberia lhe informar.
fabricioempresa
Quando eu resolver ai eu posto aqui xD
fabricioempresa
Alguem tem alguma dica?
fabricioempresa
Bom pessoal nada melhor do que dar uma boa olhada no site da biblioteca
Segue a solução.
/* * Note that this will create a trigger that starts immediately. * To control the start time, use trigger.setStartTime(Date) */SimpleTriggertrigger=newSimpleTrigger("trigger1","group1");trigger.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);// 24 hours * 60(minutes per hour) * 60(seconds per minute) * 1000(milliseconds per second)trigger.setRepeatInterval(2L*24L*60L*60L*1000L);-OR-/* * Note that this will create a trigger that starts immediately. * To control the start time, use trigger.setStartTime(Date) */DateIntervalTriggertrigger=newDateIntervalTrigger("trigger1","group1",DateIntervalTrigger.IntervalUnit.DAY,15);