2010-09-04 14 views
5

Estoy usando Quartz Scheduler v.1.8.0.¿Cómo obtener la expresión cron dado el nombre del trabajo y el nombre del grupo?

¿Cómo obtengo la expresión cron que fue asignada/adjuntada a un trabajo y programada usando CronTrigger? Tengo el nombre del trabajo y el nombre del grupo en este caso. Aunque muchos desencadenantes pueden apuntar al mismo trabajo, en mi caso, es solo uno.

Hay un método disponible en la clase Scheduler, Scheduler.getTriggersOfJob(jobName, groupName), pero devuelve solo Trigger array.

Ejemplo cronexpression: 0 /5 10-20 * * ?

NOTA: Clase CronTrigger extiende gatillo

Respuesta

15

Puede utilizar Scheduler.getTriggerOfJob. Esta clase devuelve todos los desencadenadores para un determinado nombre de trabajo y nombre de grupo, en un desencadenador [].

Luego, analice el contenido de esta matriz, pruebe si Trigger es un CronTrigger y ejecútelo para obtener la instancia de CronTrigger. Entonces, el método getCronExpression() debería devolver lo que está buscando.

Aquí es un ejemplo de código:

Trigger[] triggers = // ... (getTriggersOfJob) 
for (Trigger trigger : triggers) { 
    if (trigger instanceof CronTrigger) { 
     CronTrigger cronTrigger = (CronTrigger) trigger; 
     String cronExpr = cronTrigger.getCronExpression(); 
    } 
} 
+0

Gracias, soy capaz de ver mi cronexpression espalda. Por cierto, una pequeña corrección en tu muestra de código: 'Cron ** T ** rigger cronTrigger = (CronTrigger) trigger;'. – Gnanam

+0

@Gnanam: Gracias, corregí eso :-) –

Cuestiones relacionadas