当前位置: 首页 > news >正文

如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次

之前在Spring Boot教程中我们介绍了如何用 @Scheduled 注解来创建定时任务,Spring 的任务调度用起来确实顺手。可这种实现方式一上多实例(比如多副本部署),同一个定时任务会在每个节点都跑一遍,等于任务会重复执行。

原因很简单:默认情况下,Spring 不会在多个实例之间做调度同步。

这篇文章就聊聊怎么用 ShedLock,让定时任务在多实例环境下“同一时刻只跑一次”。顺便一提,它也能作为 Quartz 的替代。

Maven 依赖

先引入 shedlock-spring 这个依赖:

<dependency><groupId>net.javacrumbs.shedlock</groupId><artifactId>shedlock-spring</artifactId><version>6.3.1</version>
</dependency>

最新版本可以去 Maven Central 看。

配置

ShedLock 依赖“共享数据库”,并且要声明一个合适的 LockProvider。它会在库里新建一张表/文档,记录当前的锁。

目前它支持 Mongo、Couchbase、Elasticsearch、Redis、Hazelcast、ZooKeeper、Cassandra,以及任何带 JDBC 驱动的数据库。

示例我们用内存型 H2 数据库,方便演示。

要跑起来,先把 H2 和 JDBC 版的 ShedLock 依赖加上:

<dependency
http://www.dtcms.com/a/418127.html

相关文章:

  • Mask R-CNN工业落地实战:计算机视觉物体检测开山鼻祖的产线级代码剖析
  • 沈阳网站制作全网性做橡胶的网站
  • C++压缩解压:Zstandard (Zstd)压缩库
  • 在网站建设中 为了防止工期拖延荥阳网站制作
  • Filebeat写ElasticSearch故障排查思路(下)
  • 禅道数据还原
  • 货架 网站建设 牛商网网站设计目的与规划怎么写
  • 基于STM32设计的环境监测系统(华为云IOT)_300
  • OPPO手机“绿线”问题争议,高价等于高端,何以分食iPhone市场?
  • 国产之光!金仓数据库KingbaseES Oracle兼容性深度体验大赏
  • wordpress付费插件网站垂直门户网站的盈利模式探讨
  • Navicat 技术指引 | KingbaseES 逆向工程与正向工程
  • C#:将Excel转换为HTML时将图像嵌入HTML中
  • 滨州医学院做计算机作业的网站电商网站 模板
  • 访问控制、用户认证、https
  • 大语言模型在金融风控中的应用
  • 深圳培训公司网站建设辽宁市营商环境建设局网站
  • Activity 管理工具类(兼容 Android 16+ / API 16)
  • 【2026计算机毕业设计】基于Springboot的Android校园周边美食汇系统
  • 网站换主推关键词会怎么样网站建设年度报告
  • 软装设计公司网站网站设计怎么做背景颜色
  • 陕西网站建设公司找哪家网站建设需要花多少钱
  • 开封做网站公司导航网站备案
  • 如何判断网站程序使用asp还是php网站开发 架构设计
  • 网站开发 北京外包公司文档生成器app
  • 淘宝京东网站建设目的查找全国免费网站建设
  • wordpress网站前台密码网页设计一个网站
  • 外链网站 风险wordpress官方中文主题下载
  • 响应式网站建设源码国外的平面设计网站
  • 网站开发现在怎么样263企业邮箱修改密码