2010-07-05 14 views
5

tengo cuarzo codificados de la siguiente y la primera tarea se ejecuta a la perfección:La ejecución de dos puestos de trabajo con cuarzo en Java

JobDetail jd = null; 
CronTrigger ct = null; 
jd = new JobDetail("Job1", "Group1", Job1.class); 
ct = new CronTrigger("cronTrigger1","Group1","0/5 * * * * ?"); 
scheduler.scheduleJob(jd, ct); 
jd = new JobDetail("Job2", "Group2", Job2.class); 
ct = new CronTrigger("cronTrigger2","Group2","0/20 * * * * ?"); 
scheduler.scheduleJob(jd, ct); 

Pero estoy encontrando que Job2, que es un trabajo totalmente independiente a Job1, no se ejecute .

El programador se inicia utilizando un oyente en Java. También intenté usar scheduler.addJob (jd, true); pero nada cambia. Estoy ejecutando Java a través de una JVM en Windows 7.

Respuesta

1

¿Cómo sabe que el trabajo no se ejecuta? Si sustituye Job1.class por Job2.class, ¿sigue fallando? ¿Cuándo cambia el orden en el que se agregaron al planificador, o solo deja Job2? ¿O si tira hacia abajo Job2 para imprimir solo un mensaje a la consola?

Sospecho que Job2 ejecución muere con una excepción.

+0

He intentado cambiar el orden de los trabajos y he intentado numerosos mensajes de depuración en ambos. pero solo se ejecuta el trabajo 1. –

+0

Entonces debe haber un error dentro de Job2. Ajustar todo en execute() en try {...} catch (Throwable t) {t.printStackTrace(); } y mira lo que pasa. –

+0

Mala lógica de mi parte. ¡Mea culpa! Y ahora para ordenar los tiempos de cron para que un trabajo se ejecute en una hora y el otro en la media hora. –

Cuestiones relacionadas