我不知道下面的表達是正確的:這個cronExpression是否正確?
<property name="cronExpression" value="0 0 12 2 * MON-FRI ?"/>
我嘗試配置了扳機射擊每月每隔一天,不管這一年,中午,和星期幾有介於星期一和星期五之間。
我真的很感激,如果有人能幫助我。提前致謝。
我不知道下面的表達是正確的:這個cronExpression是否正確?
<property name="cronExpression" value="0 0 12 2 * MON-FRI ?"/>
我嘗試配置了扳機射擊每月每隔一天,不管這一年,中午,和星期幾有介於星期一和星期五之間。
我真的很感激,如果有人能幫助我。提前致謝。
您不能同時指定月份和星期幾 - 不受支持。
我假設你的意思是「每隔一天(隔日),只要它是MON-FRI」。
根據Quartz CronTrigger Tutorial:中日的日場
「1/3」的意思是「火,每3天 開始一個月的第一天」。
因此,1/2
將意味着「從每月的第一天開始每隔一天開火」。像0 0 12 1/2 * MON-FRI *
這樣的cronExpression應該接近你想要的。用
org.quartz.CronExpression.isValidExpression("0 0 12 1/2 * MON-FRI *")
...表示表達式是有效的。
然而,測試它遠一點有:
CronExpression e = new CronExpression("0 0 12 1/2 * MON-FRI *");
e.isSatisfiedBy(new DateTime(2012, 9, 26, 12, 0, 0, 0).toDate());
...拋出異常:
> Exception in thread "main" java.lang.UnsupportedOperationException:
> Support for specifying both a day-of-week AND a day-of-month parameter
> is not implemented.
所以,好像jhouse is right,你就不能做到這一點用cronExpression。
也許會有這樣的一個解決方法工作:Quartz cron expression for cron triggers executed every Nth Hour/Day/Week/Month
你的意思是「每隔一天」或「每月的第二天」(這你cronExpression建議)? – Jonik 2012-09-26 09:54:02