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 * * ?")