我们在集群WebLogic 10.3.4环境中运行Spring 3.0.x Web应用程序(.war),并且每晚都有@Scheduled作业。但是,随着应用程序部署到每个节点(使用AdminServer的Web控制台中的部署向导),作业每晚在每个节点上启动,从而同时运行多次。仅在一个WebLogic群集节点上运行@ Scheduled任务?
我们应该如何防止这种情况发生?
我知道象Quartz这样的库允许通过数据库锁表协调集群环境内的作业,或者我甚至可以自己实现类似这样的事情。但是,由于这似乎是一个相当常见的情况,我不知道Spring是否已经提供了一个选项,可以轻松绕过这个问题,而无需将新库添加到我的项目或手动解决方法。
- 我们不能够升级到3.1春季与配置模板,as mentioned here
请让我知道,如果有任何悬而未决的问题。我也在Spring Community forums上问过这个问题。非常感谢你的帮助。
您想实现某种故障转移吗?如果这样配置配置文件在这里不会真的有用,并且无论如何您都需要一些同步。我们有一个类似的要求,最终得到一个锁表,它也提供了一些快速执行摘要。 – mrembisz 2012-01-16 11:56:46
@mrembisz不,我们(现在)不在寻找故障转移,因为这会使事情变得非常复杂。 – 2012-01-16 12:26:25