本文介绍了多个服务器实例上的调度程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有每小时运行一次的 Java 调度程序,我有 16 个服务器实例,这将部署在所有 16 个服务器实例中.我如何确保这些调度程序任务不会相互冲突.我们不想引入 Spring 批处理.
Hi I have Java scheduler which run on every hour and i have 16 server instances , this will be deployed in all 16 server instances .How i can ensure that these schedulers tasks won't clash each other. We doesn't want to introduce Spring batch .
推荐答案
基本上你可以遵循 2 种方法:
Basically you can follow 2 approaches for that:
- 确保每个实例管理自己的数据(不与任何其他实例共享).
- 确保每次只有一个实例可以访问信息.
第一点取决于你自己的业务逻辑,第二点有一些工具可以帮助你,与 Spring 轻松集成:
The first point depends of your own business logic, for the second one there are some tools can help you, with an easy integration with Spring:
Shedlock(比 Quartz 简单但功能较少)
Shedlock (easier than Quartz but with less functionality)
这篇关于多个服务器实例上的调度程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!