spring 分布式锁 SchedulerLock,整合redis冲突、jdbc异常问题

简介

ShedLock的作用,确保任务在同一时刻最多执行一次。如果一个任务正在一个节点上执行,则它将获得一个锁,该锁将阻止从另一个节点(或线程)执行同一任务。如果一个任务已经在一个节点上执行,则在其他节点上的执行不会等待,只需跳过它即可
ShedLock使用Mongo,JDBC数据库,Redis,Hazelcast,ZooKeeper或其他外部存储进行协调,即通过外部存储来实现锁机制。

用法

  • 启用和配置计划的锁定
  • 注释您的计划任务
  • 配置锁提供者

此处以jdbc数据库方式为例,如需要使用其他外部存储方式,对应修改shedlock-provider。

启用和配置计划的锁定
  • 导入schedulerLock项目

gradle方式

// shedlock 项目 , 2.1.0稳定版
compile('net.javacrumbs.shedlock:shedlock-provider-jdbc-template:2.1.0')
// JDBC ,匹配shedlock的2.2.0版
compile('net.javacrumbs.shedlock:shedlock-spring:2.2.0')

Maven方式

// shedlock 项目 , 2.1.0稳定版
<dependency>
    <groupId>net.javacrumbs.shedlock</groupId>
    <artifactId>shedlock-spring</artifactId>
    <version>2.1.0</version>
</dependency>
// JDBC ,匹配shedlock的2.2.0版
<dependency>
    <groupId>net.javacrumbs.shedlock</groupId>
    <artifactId>shedlock-provider-jdbc-template</artifactId>
    <version>2.2.0</version
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值