【问题标题】:Spring - problem with task schedulerSpring - 任务调度程序的问题
【发布时间】:2011-11-02 20:14:44
【问题描述】:

我的任务调度程序有一个奇怪的问题。这是我的appliacationContext.xmlpingProducer 的三个经过测试的配置。第一部和第二部作品。第三个应该每小时产生一次 ping,但不会 - 它每分钟产生一次 ping。我错过了什么吗?

<!-- Ping scheduler - WORKS - every second -->
<task:scheduled-tasks>
    <task:scheduled ref="pingProducer" method="producePingRequest" cron="* * * * * ?" />
</task:scheduled-tasks>

<!-- Ping scheduler - WORKS - every minute -->
<task:scheduled-tasks>
    <task:scheduled ref="pingProducer" method="producePingRequest" cron="0 * * * * ?" />
</task:scheduled-tasks>

<!-- Ping scheduler - DOES NOT WORK - every minute -->
<task:scheduled-tasks>
    <task:scheduled ref="pingProducer" method="producePingRequest" cron="0 0 * * * ?" />
</task:scheduled-tasks>

【问题讨论】:

    标签: java spring configuration scheduled-tasks


    【解决方案1】:

    改为:

    <task:scheduled-tasks>
        <task:scheduled ref="pingProducer" method="producePingRequest" cron="50 0 * * * ?" />
    </task:scheduled-tasks>
    

    编辑:每小时一次,第 50 秒

    【讨论】:

    • 为什么我必须在第 50 秒而不是立即运行它?
    • 但是还是不行。这对我有用:cron="30 0 0/1 * * ?" 我不知道为什么
    • cron="30 0 0/1 * * ?"有效,因为 0/x 表示从 0 点开始每隔 x 小时运行一次。
    【解决方案2】:
    <task:scheduled-tasks>
    <task:scheduled ref="pingProducer" method="producePingRequest" cron="0 0 0/1 * * ?" />
    </task:scheduled-tasks>
    

    cron="0 0 0/1 * * ?"有效,因为 0/x 表示从 0 点开始每隔 x 小时运行一次。

    【讨论】:

      猜你喜欢
      • 2019-04-17
      • 2014-07-15
      • 1970-01-01
      • 2013-11-27
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多