前言
在Spring Boot中使用Schedule Job,Spring Boot应用部署多个实例,Job逻辑在不同实例里同时触发执行,可能对业务造成影响。针对这种情况,如果只想要Spring Boot Schedule Job执行一次,该如何处理?
思路
可理解为多个实例竞争执行Job逻辑,考虑加(分布)锁。
实现
- 具体实现请参考ShedLock
其他
- Job 执行时间长,出现下个Job开始执行,上个Job还没执行完的情况
1.可考虑异步处理或多线程(ExxcutorService) 2.数据表加乐观锁保证只执行一次
结尾
如果文章对你有帮助,请点 赞👍🏻 支持一下。若有错误之处或有更好的建议,欢迎指正,谢谢。