2014-11-11 2 views
4

Кварц 2.x documentation говоритПочему кварц говорит, что это выражение cron недействительно?

Так хроны выражение может быть столь же простым, как это: * * * *? * или более комплекса, например: 0/5 14,18,3-39,52 *? JAN, MAR, сентябрь ПН-ПТ 2002-2010

Но если я пытаюсь

System.out.println(org.quartz.CronExpression.isValidExpression("* * * * ? * *")); 

Это говорит

false 

Почему?

Javadoc для isValidExpression является http://quartz-scheduler.org/api/2.2.1/org/quartz/CronExpression.html

Ps. этот вопрос не является дубликатом Verifying a cron expression is valid in Java

ответ

6

Связанная JavaDoc упоминает эту структуру для хрон выражений:

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  , - */

Ваше выражение хрон является "* * * * ? * *" с ? на 5-й позиции для Month. Как вы можете видеть, этот символ не разрешено там.

4

JavaDoc вы упомянули утверждает, что ? характер допускается только день-месяц и день-неделю полей. Вы используете его в Месяц поле.

Смежные вопросы