2010-09-04 11 views
5

Sto usando Quartz Scheduler v.1.8.0.Come ottenere l'espressione cron data nome lavoro e nome gruppo?

Come si ottiene l'espressione cron assegnata/allegata a un lavoro e pianificata utilizzando CronTrigger? Ho il nome del lavoro e il nome del gruppo in questo caso. Sebbene molti Trigger possano indicare lo stesso Job, nel mio caso è solo uno.

Esiste un metodo disponibile nella classe Scheduler, Scheduler.getTriggersOfJob(jobName, groupName), ma restituisce solo Array di trigger.

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

NOTA: Classe CronTrigger estende trigger

risposta

15

È possibile utilizzare Scheduler.getTriggerOfJob. Questa classe restituisce tutti i trigger per un dato jobName e groupName, in un trigger [].

Quindi, analizzare il contenuto di questo array, verificare se Trigger è un CronTrigger e lanciarlo per ottenere l'istanza di CronTrigger. Quindi, il metodo getCronExpression() dovrebbe restituire ciò che stai cercando.

Ecco un esempio di codice:

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

Grazie, sono in grado di vedere la mia cronexpression schiena. BTW, una piccola correzione nel tuo esempio di codice: "Cron ** T ** rigger cronTrigger = (CronTrigger) trigger;'. – Gnanam

+0

@Gnanam: Grazie, l'ho corretto :-) –