为什么Quartz说这个cron表达式无效?

时间:2014-11-11 19:54:56

标签: java quartz-scheduler

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

的重复

2 个答案:

答案 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>每月和星期几字段允许?字符。您正在字段中使用它。