繁体   English   中英

Spring Task Scheduler多次运行单个任务

[英]Spring task scheduler runs a single task multiple times

我有一个调度程序,它使用Spring的任务名称空间每分钟运行一次。 根据文档,它应使用缓存池中的线程之一运行一次,延迟1分钟。 但是它在随机的时间之后运行另一次时间,例如在与之前运行的线程不同的线程上运行5秒。 更不用说,一分钟后它将运行应该运行的那一步。 但是这5秒不应该运行。 我在SO中看到过类似的问题,但是没有报告的解决方案。 就我而言,它在我的本地环境中运行良好,并且此问题仅在开发环境中发生。 Spring功能有什么问题吗?

<task:annotation-driven scheduler="myScheduler" />
<task:scheduler id="myScheduler" pool-size="10"/>
<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="mySchedulerBean"
                    method="doSomething" fixed-delay="60000" />
</task:scheduled-tasks>

<bean id="mySchedulerBean" class="com.mycompany.app.tasks.SchedulerBean"/>

对于那些使用旧版spring的用户,他们需要升级到至少3.2.2。 而且,如果仍然不能解决问题,则很可能会两次部署上下文。 检查应用程序服务器部署配置以解决该问题,或者在其他一些情况下,您可能正在基于注释的计划,并且还正在使用任务xml名称空间,则可以使用其中之一,但不能同时使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM