【问题标题】:Meaning Of Spring Cron Expression "*/5 * * * * ?"Spring Cron 表达式“*/5 * * * * ?”的含义
【发布时间】:2016-04-26 07:52:32
【问题描述】:

我使用带有 cron 表达式的 spring 调度器

*/5 * * * * ?

(每 5 秒)。前一个月一直在工作,最近两天突然停止了。

重新启动服务器后,它工作正常。

有什么区别

*/5 * * * * ?
*/5 * * * * *

?它基于任何月份。

那么这里的是什么意思?。 想知道它停止的原因吗?

提前致谢。

【问题讨论】:

  • 也许它永远不会完成,有一个石英设置可以让你配置这种情况

标签: java spring quartz-scheduler scheduler


【解决方案1】:

这里“

*

表示所有值。 例如,dayofmonth="*" 表示每天运行该进程。

“?”

仅用于 dayofmonth 和 dayofweek 属性

并且意思是“不考虑这个值” 例如, hours="12" dayofweek="MON-FRI" dayofmonth="?"意思是“每个工作日中午运行(不考虑月份中的哪一天)”。

","

分隔多个值。 例如,dayofweek="MON,FRI" 表示每周一和周五。逗号后不要包含空格。

"/"

指定增量。例如,minutes="0/15" 表示从第 0 分钟开始,每 15 分钟运行一次。

“L”仅用于 dayofmonth 和 dayofweek,表示“月/周的最后一天”。

【讨论】:

  • “?”之间的确切区别是什么?和 '*'。我相信它们都会产生相同的输出?
【解决方案2】:

来自Quartz documentation

“?”字符可以用于月份和星期几 字段。它用于指定“无特定值”。这在以下情况下很有用 您需要在两个字段之一中指定某些内容,但不是 其他。请参阅下面的示例(和 CronTrigger JavaDoc) 澄清。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2012-11-17
    • 2018-04-28
    • 2017-02-11
    • 1970-01-01
    • 2018-06-24
    相关资源
    最近更新 更多