2016-04-15 6 views
2

Ich versuche, die Quarz-Cron-Ausdruck, die auf bestimmten TagQuarz-Cron-Ausdruck in einer zweiwöchigen am bestimmten Tag für Einmal

zum Beispiel auf jeder 2 Wochen läuft zu erstellen

Einmal in einem jeden 2 Wochen am Montag

und mit dem folgenden Ausdruck

0 0 6 ? * 1#2,1#4 

aber irgendwie bekomme ich folgende Fehler

Unterstützung für mehrere „n“ Tage spezifiziert ist nicht implementiert.

Antwort

3

Dies ist etwas, das auch mit den regulären Cron-Jobs sehr schwer ist, ich denke, es kann nicht in einem "normalen" Cron-Ausdruck erreicht werden.

Sie könnten cron ganz überspringen und nutzen die Trigger That Executes Every 2 Weeks

trigger = newTrigger() 
.withIdentity("trigger3", "group1") 
.startAt(tomorrowAt(15, 0, 0) // 15:00:00 tomorrow 
.withSchedule(calendarIntervalSchedule() 
     .withIntervalInWeeks(2)) // interval is set in calendar weeks 
.build(); 
0

Dies ist eine Einschränkung von cron-ähnliche Ausdrücke. Die beste Lösung, die mir in den Sinn kommt, besteht darin, zwei Trigger für diesen Job zu erstellen, anstatt ihn nur mit dem Cron-Ausdruck zu verwenden.

+2

Dies ist keine Einschränkung von Quarz, da man ein solches Verhalten mit [SimpleTriggers] (http://www.quartz-scheduler.org/api/previous_versions/1.8.5/org/quartz/SimpleTrigger.html) sehr einfach ausdrücken kann) (siehe [TriggerBuilder] (http://www.quartz-scheduler.org/api/2.1.7/org/quartz/TriggerBuilder.html)) - wie @RobAu erwähnt. Dies ist eher eine Art von Cron-ähnlichen Ausdrücken im Allgemeinen. – mam10eks

+0

Ja, Sie haben recht, ich meinte eine Einschränkung von Cron-Ausdrücken, die ich jetzt bearbeiten werde. – dquijada

Verwandte Themen