【问题标题】:IllegalArgumentException related to cron expression与 cron 表达式相关的 IllegalArgumentException
【发布时间】:2019-12-31 16:53:00
【问题描述】:

在使用cron 表达式0 42 5 31 DEC 2 时,我收到了这个错误:

o.s.c.s.i.web.ExceptionLoggingFilter - Uncaught exception thrown
org.springframework.web.util.NestedServletException: Request processing failed; 
nested exception is java.lang.IllegalArgumentException: Overflow in day for 
expression "0 42 5 31 DEC 2"

我需要了解为什么我会收到此错误,尽管这是一个有效的 cron 表达式

【问题讨论】:

    标签: cron scheduler


    【解决方案1】:

    你的表达式太多了,cron 允许 5 个表达式:minute, hour, day(of month),month, day(of week)

    所以我假设你想写:42 5 31 DEC 2?无论哪种方式,由于DEC 位于“正确”位置,因此您需要从左侧修剪表达式以匹配。

    尝试更多here

    【讨论】:

    • java 文档提到 0 15 10 ? * MON-FRI 是一个有效的表达式。我使用这个表达式触发了一个任务,并且该任务成功执行,所以我猜这个表达式是正确的。这是供参考的文档-docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/…
    • 抱歉,这似乎是与标准版本不同的 cron 版本,我不熟悉。
    猜你喜欢
    • 2017-10-10
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    相关资源
    最近更新 更多