2009-07-16 26 views
0

Ich habe eine der folgenden;Wie wird diese Quartz Cron Expression ausgeführt

private String cronExpression = ""; 
private final String jobID = "MyJObID"; 
... 
Scheduler scheduler = ServiceLocator.getInstance().getScheduler(); 
CronTrigger trigger = new CronTrigger(jobID , Scheduler.DEFAULT_GROUP, cronExpression); 
JobDetail jobDetail = new JobDetail(jobID , Scheduler.DEFAULT_GROUP, MyJob.class); 
scheduler.scheduleJob(jobDetail, trigger); 

Meine Frage ist, wann wird dieser Job für den leeren Cron-Ausdruck ausgelöst?

+0

dies ist nur aus Neugier, oder macht deine Bewerbung das? Wenn letzteres, wofür? – skaffman

+0

meine Anwendung tut dies tatsächlich. Ich habe einige Teile des Codes geändert und möchte einige Tests durchführen. – n002213f

Antwort

0

Vielen Dank für die Hilfe Jungs, fand das Problem.

Nach einiger Nacht des Suchens fand ich heraus, dass die Klasse in JBoss als MBean und ein Wert für das Attribut Cron-Ausdrucks registriert wurde, wurde im Deployment Descriptor zu einem gewissen sinnvollen Wert gesetzt

Sigh

1

Sind Sie sicher, dass es funktioniert?

Nur durch am org.quartz.CronExpression#buildExpression() Methodencode suchen es wie eine Ausnahme sieht geworfen werden sollten:

 if (exprOn <= DAY_OF_WEEK) { 
      throw new ParseException("Unexpected end of expression.", 
         expression.length()); 
     } 

     // exprOn should be equal to SECOND in case of empty String given 

[geprüft in Quartz 1.6.0]

+0

ja es tut, mit Quarz 1.5.1 – n002213f

+0

FWIW es jeden Morgen um 08.00 Uhr – n002213f

+0

Blick auf die Quelle von Quarz 1.5.1 (diesmal ist es CronTrigger.buildExpression()) die gleiche Ausnahme wird dort geworfen. Haben Sie versucht, dort einen Breakpoint zu debuggen und zu setzen? –

Verwandte Themen