我不知道下面的表达是否正确:
<property name="cronExpression" value="0 0 12 2 * MON-FRI ?"/>
我尝试将触发器配置为每个月的每隔一天触发一次,无论年份如何,在中午,并且星期几必须在星期一和星期五之间。
如果有人可以帮助我,我将不胜感激。提前致谢。
我不知道下面的表达是否正确:
<property name="cronExpression" value="0 0 12 2 * MON-FRI ?"/>
我尝试将触发器配置为每个月的每隔一天触发一次,无论年份如何,在中午,并且星期几必须在星期一和星期五之间。
如果有人可以帮助我,我将不胜感激。提前致谢。
我假设您的意思是“每隔一天(每隔一天),只要是周一至周五”。
根据Quartz CronTrigger Tutorial:
日期字段中的“1/3”表示“从该月的第一天开始每 3 天触发一次”。
因此,1/2
这意味着“从每月的第一天开始,每隔一天开火一次”。像这样的 cronExpression0 0 12 1/2 * MON-FRI *
应该接近你想要的。检查与
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 是对的,你不能用 cronExpression 来做到这一点。
也许这样的事情可以作为一种解决方法:Quartz cron expression for cron triggers executed every Nth Hour/Day/Week/Month
您不能同时指定一个月中的某一天和一周中的某一天 - 它不受支持。