Scheduler não para de executar após iniciar

2 respostas
J

Quando inicio uma aplicação web, ao iniciar um agendamento feito pelo scheduler, ele fica executando a mesma ação o tempo todo. O normal seria ele realizar a ação, parar e depois do tempo que eu determinei, ele deveria iniciar novamente a ação.

Alguem sabe o que acontece?

Segue o código do meu agendamento.

public class AgendamentoTarefasImpl implements Job{

	public void execute(JobExecutionContext jec) {
		int ix=1;
	System.out.println("INICIOU");
	System.out.println("**************************   " + ix );
		EnviarEmailImpl ev = new EnviarEmailImpl();	
		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();
	
	if(emails.isEmpty()){
		System.out.println("Esta vazio");
	}
		
else{
	try{
		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));
			}	
		}

		
	}catch(Exception e)
	{
		SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");  
        System.out.println("Erro na Job às " + df.format(new Date()));  
        System.out.println("Mensagem de erro: " + e.getMessage());  
        Logger.getLogger(AgendamentoTarefasImpl.class.getName()).log(Level.SEVERE, null, e);
	}
}

xml

<servlet>  
    <servlet-name>  
        QuartzInitializer  
    </servlet-name>  
    <display-name>  
        Quartz Initializer Servlet  
    </display-name>  
    <servlet-class>  
        org.quartz.ee.servlet.QuartzInitializerServlet  
    </servlet-class>  
    <load-on-startup>1</load-on-startup>  
    <init-param>  
        <param-name>config-file</param-name>  
        <param-value>quartz.properties</param-value>  
    </init-param>

quartz.properties

org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileNames = quartz-config.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 5

quartz-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<quartz>  
    <job>  
        <job-detail>  
            <name>scheduler</name>  
            <group>schedulers</group>  
            <description>schedule a nightly job</description>  
            <job-class>com.suporte.agendamento.impl.AgendamentoTarefasImpl</job-class>  
            <volatility>false</volatility>  
            <durability>false</durability>  
            <recover>false</recover>  
              
        </job-detail>  
        <trigger>  
            <cron>  
                <name>scheduler-trigger</name>  
                <group>scheduler-triggers</group>  
                <job-name>scheduler</job-name>  
                <job-group>schedulers</job-group>  
                <cron-expression>* 0/1 * * * ?</cron-expression>  
            </cron>  
        </trigger>  
    </job>  
</quartz>

2 Respostas

Hebert_Coelho
<cron-expression>* 0/1 * * * ?</cron-expression>

Mas com esse código você ta mandando o bicho rodar direto uai (a cada minuto).

O.o

Aqui tem toneladas de exemplos: http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-06.

J

Isso eu sei :shock:
O problema é que já coloquei de 5 em 5 minutos e é só iniciar que aconteceu o q descrevi acima

Criado 20 de novembro de 2011
Ultima resposta 20 de nov. de 2011
Respostas 2
Participantes 2