Spring @Scheduled 调度问题
Spring @Scheduled issue with Scheduling
我有豆子 我想在 spring 中运行 我只希望 运行 每天半夜运行一次。为了测试它在 运行s 和死亡时将日期放入队列。
我在让它正常工作时遇到问题。
@Scheduled(cron = "1 0 * * * *")
当我这样说时,该函数每小时执行一次,而不是每个午夜
"Tue Mar 24 12:00:02 PDT 2015": "Reset",
"Tue Mar 24 13:00:02 PDT 2015": "Reset"
这也是我的配置文件
<context:component-scan base-package="com.bla" />
<mvc:annotation-driven />
<task:annotation-driven executor="taskExecutor"
scheduler="taskScheduler"/>
<task:scheduler id="taskScheduler" pool-size="1" />
<bean id="taskExecutor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"
destroy-method="shutdown">
<property name="corePoolSize" value="100" />
<property name="maxPoolSize" value="150" />
<property name="WaitForTasksToCompleteOnShutdown" value="false" />
</bean>
Spring 使用 quartz 调度程序,其语法与 cron 略有不同(看这里 http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger)
它从秒开始而不是分钟,所以你的表达式应该是:
@Scheduled(cron = "1 0 0 * * ?")
我有豆子 我想在 spring 中运行 我只希望 运行 每天半夜运行一次。为了测试它在 运行s 和死亡时将日期放入队列。
我在让它正常工作时遇到问题。
@Scheduled(cron = "1 0 * * * *")
当我这样说时,该函数每小时执行一次,而不是每个午夜
"Tue Mar 24 12:00:02 PDT 2015": "Reset", "Tue Mar 24 13:00:02 PDT 2015": "Reset"
这也是我的配置文件
<context:component-scan base-package="com.bla" />
<mvc:annotation-driven />
<task:annotation-driven executor="taskExecutor"
scheduler="taskScheduler"/>
<task:scheduler id="taskScheduler" pool-size="1" />
<bean id="taskExecutor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"
destroy-method="shutdown">
<property name="corePoolSize" value="100" />
<property name="maxPoolSize" value="150" />
<property name="WaitForTasksToCompleteOnShutdown" value="false" />
</bean>
Spring 使用 quartz 调度程序,其语法与 cron 略有不同(看这里 http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger)
它从秒开始而不是分钟,所以你的表达式应该是:
@Scheduled(cron = "1 0 0 * * ?")