Tenho os seguintes arquivos na minha configuração
arquivo quartz.properties
##===============================================================
# #Configure Main Scheduler Properties
# #===============================================================
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
#
# #===============================================================
# #Configure ThreadPool
# #===============================================================
org.quartz.threadPool.threadCount = 3
org.quartz.threadPool.threadPriority = 5
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
#
# #===============================================================
# #Configure JobStore
# #===============================================================
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
#
# #===============================================================
# #Configure Plugins
# #===============================================================
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.jobInitializer.validating=false
org.quartz.plugin.jobInitializer.fileNames = quartz-config.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = false
arquivo quartz-config.xml
[code]<?xml version="1.0" encoding="UTF-8"?>
Agendamento
AgendamentoGroup
Verifica se existe email pendente para envio
com.suporte.agendamento.impl.AgendamentoTarefasImpl
<trigger>
<cron>
<name>EmailTrigger</name>
<group>AgendamentoGroup</group>
<job-name>Agendamento</job-name>
<job-group>AgendamentoGroup</job-group>
<cron-expression>0/20 * * * * ?</cron-expression>
<!-- Essa cron será executada a cada 10 minutos Referência para cron-expression:
http://en.wikipedia.org/wiki/CRON_expression -->
</cron>
</trigger>
[/code]
classe da ação do schedule
package com.suporte.agendamento.impl;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;
import org.quartz.CronTrigger;
import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
import com.suporte.dao.EmailDao;
import com.suporte.dao.impl.EmailDaoImpl;
import com.suporte.model.Email;
import com.suporte.util.CalculaTempoUtil;
public class AgendamentoTarefasImpl implements Job{
public void execute(JobExecutionContext jec) {
try{
System.out.println("veio");
CalculaTempoUtil ct = new CalculaTempoUtil();
EmailDao dao = new EmailDaoImpl();
List<Email> emails = new ArrayList<Email>();
List<Email> emailsSeremExlcuidos = new ArrayList<Email>();
List<Email> emailsSeremEnviados = new ArrayList<Email>();
List<Integer> tempoEmail = ct.retornaTempoEmail();
emails = dao.listarEmailNaoEnviado();
for(int i = 0; i<emails.size(); i++)
{
if(tempoEmail.get(i) >= 2 )
{
//Se for maior que dois dias o email será excluído
emailsSeremExlcuidos.add(emails.get(i));
}
else
{
//Se for menor que dois dias o email será reenviado
emailsSeremEnviados.add(emails.get(i));
}
}
if(emailsSeremExlcuidos != null){
dao.excluirEmail(emailsSeremExlcuidos);
}
}catch(Exception e)
{
e.getMessage();
}
}
}
mapeamento web.xml
<context-param>
<param-name>config-file</param-name>
<param-value>quartz.properties</param-value>
</context-param>
O problema é que quando eu “starto” a aplicação web (apache tomcat 7), o schedule não funciona, na verdade nem inicia.
O que pode ser?