2016-04-15 159 views
2

我正在嘗試創建在給定日期每兩週運行一次的Quartz cron表達式Quartz cron表達式在特定日的兩週內一次

例如,

一旦在每兩個星期週一

,並使用下面的表達式

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

但不知何故,我收到以下錯誤

支持指定多個「第n個」天未實現。

回答

3

這對於正常的cron作業也是非常困難的,我認爲它不能在'正常'的cron表達式中實現。

你可以完全跳過cron和使用 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

這是類似cron表達式的限制。我想到的最佳解決方案是爲該作業創建兩個觸發器,而不是僅使用cron表達式來使用它。

+2

這不是石英的限制,因爲用[SimpleTriggers](http://www.quartz-scheduler.org/api/previous_versions/1.8.5/org/quartz/SimpleTrigger.html)可以很容易地表達這樣的行爲)(參見[TriggerBuilder](http://www.quartz-scheduler.org/api/2.1.7/org/quartz/TriggerBuilder.html)) - 如@RobAu提到的。一般來說,這更像是一種類似cron的表達式的短語。 – mam10eks

+0

是的,你是對的,我的意思是Cron表達式的限制,現在就去編輯它。 – dquijada

相關問題