在jboss 5.0.1上运行spring任务调度程序的多任务调用GA
问题描述:
我在JBoss 5.0.1 GA上运行Spring 3.1 MVC Web应用程序。我没有使用注释。在jboss 5.0.1上运行spring任务调度程序的多任务调用GA
我有一个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服务器和督促服务器上的8倍),而不是仅仅一次。
QuartzScheduler是否需要以某种方式进行配置?
感谢,
答
我怀疑的cron "* */10 * * * *"
的元素是不正确的值。
我不能http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger
的/
找到*/10
的文档从值,其中作为*
代表所有值,以便*/10
在几分钟无厘头引入了增量。
答
它看起来对我来说,在cron中的第一个*应为0,0秒给0 */10 * * * *
意味着每10分钟一班,而不是每10分钟运行一次秒(这将取决于如何运行多次需要花费很长时间才能完成每个调用。要获得8个调用,单次运行只需超过一分钟)。请注意0示例如何以零开始。
http://static.springsource.org/spring/docs/3.0.0.M3/api/org/springframework/scheduling/support/CronSequenceGenerator.html 这是每10分钟的顺序。 – Eric 2012-04-28 04:26:55
除了cron序列的格式不是问题。按预期每10分钟执行一次。正如我上面提到的,问题不是问题是在预定时间执行的次数。 – Eric 2012-04-28 04:42:00
我现在明白了。道歉。 – 2012-04-28 11:10:00