在jboss 5.0.1 GA上运行spring任务调度程序的多个任务调用

时间:2012-04-28 00:29:05

标签: spring-mvc scheduled-tasks jboss5.x

我在JBoss 5.0.1 GA上运行Spring 3.1 MVC Web应用程序。我没有使用注释。

我有一个singeton有一种方法,我希望计划在一天中的某个时间运行。

我的任务调度程序配置如下:

<task:scheduler id="taskScheduler"/>
<task:scheduled-tasks scheduler="taskScheduler">
    <task:scheduled ref="service" method="DoSomething" cron="* */10 * * * *"/>
</task:scheduled-tasks>
<task:executor id="taskExecutor" pool-size="1"/>

然而,当我观察跟踪日志时,该方法正在执行多次(在我们的qa服务器和prod服务器上8次)而不是一次。

是否需要以某种方式配置QuartzScheduler?

谢谢,

2 个答案:

答案 0 :(得分:0)

我怀疑 cron 元素的值"* */10 * * * *"不正确。

我在http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger

上找不到*/10的文档

/从值中引入增量,其中*表示所有值,因此分钟中的*/10没有意义。

答案 1 :(得分:0)

在我看来,cron中的第一个*应该是0,给出0 */10 * * * *意味着每0分钟在0秒运行一次,而不是每隔每隔每隔10分钟运行一次(它将运行多次,具体取决于完成每个invokation所需的时间。要获得8次调用,单次运行将超过一分钟)。请注意spring javadoc示例如何以零开头。