Boa noite galera !!!
Criei um schedule job no quartz que funciona normalmente quando utilizo RAMJobStore, porém o ambiente de produção é clusterizado, pelo que li normalmente é utilizado JobStoreTX para estes casos.
Quando eu altero o quartz.properties para trabalhar com JobStoreTX os jobs param de ser executados e nenhuma exception é lançada.
Estou trabalhando com TomCat 5.0.
Arquivos:
quartz.properties
org.quartz.scheduler.instanceName = DefaultQuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.dbFailureRetryInterval = 60000
org.quartz.scheduler.wrapJobExecutionInUserTransaction = true
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.dataSource = myDS
org.quartz.jobStore.tablePrefix = t_cc_q_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 60000
org.quartz.dataSource.myDS.jndiURL=java:comp/env/jdbc/MeuDataSource
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz-jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
quartz-jobs.xml
<quartz>
<job>
<job-detail>
<name>Teste</name>
<group>DEFAULT</group>
<description>JOB de Teste</description>
<job-class>com.empresa.teste.quartz.Test</job-class>
</job-detail>
<trigger>
<cron>
<name>TesteTrigger</name>
<group>DEFAULT</group>
<job-name>Teste</job-name>
<job-group>DEFAULT</job-group>
<!-- Dispara de 1 em 1 minuto -->
<cron-expression>0 0/1 * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
Test.java
package com.empresa.teste.quartz;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class Test implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
try {
System.out.println("--\n" + new Date());
System.out.println(InetAddress.getLocalHost().getHostAddress()+"\n");
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Desde já agradeço.