服务器启动期间Spring Managed Scheduler任务的执行行为

时间:2018-09-24 04:31:27

标签: spring spring-boot

我在Web应用程序中配置了spring托管的调度程序任务。 serviceScheduledTask配置为每10分钟运行一次。此调度程序任务将在服务器启动时运行还是仅在服务器启动10分钟后运行?

  <bean id="serviceScheduledTask"
          class="org.springframework.scheduling.concurrent.ScheduledExecutorTask">
        <property name="delay" value="0"/>
        <property name="period" value="600000"/>
        <property name="runnable" ref="serviceManager"/>
    </bean>

2 个答案:

答案 0 :(得分:0)

流量像这样

  1. 在服务器中部署代码后,将注册ScheduledExecutorTask并启动计时器。在您情况下10分钟。
  2. 完成10分钟后。任务被执行,计时器再次重置为10分钟。

ScheduledExecutorTask使用的时间是服务器部署所在的系统时间

答案 1 :(得分:-1)

delay-首次启动任务之前的延迟(毫秒)

因此,在您的情况下,delay = 0,ScheduledExecutorTask将在服务器启动时立即启动。

10m之后,它将再次执行。