Quartz 2.x documentation说
所以cron表达式可以这么简单:* * * *? * 或者更多 复杂,像这样:0/5 14,18,3-39,52 *? 1月,3月,SEP MON-FRI 2002至2010年
但如果我尝试
System.out.println(org.quartz.CronExpression.isValidExpression("* * * * ? * *"));
它说
false
为什么?
isValidExpression的Javadoc为http://quartz-scheduler.org/api/2.2.1/org/quartz/CronExpression.html
聚苯乙烯。这个问题不是Verifying a cron expression is valid in Java
的重复答案 0 :(得分:6)
链接的JavaDoc为cron表达式提到了这个结构:
Field Name Allowed Values Allowed Special Characters
Seconds 0-59 , - * /
Minutes 0-59 , - * /
Hours 0-23 , - * /
Day-of-month 1-31 , - * ? / L W
Month 1-12 or JAN-DEC , - * /
Day-of-Week 1-7 or SUN-SAT , - * ? / L #
Year (Optional) empty, 1970-2199 , - * /
您的cron表达式为"* * * * ? * *"
,?
的第5个位置为Month
。如你所见,这个角色在那里不。
答案 1 :(得分:4)
您提到的JavaDoc指出仅{em>每月和星期几字段允许?
字符。您正在月字段中使用它。