点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
作者 | 仅此而已-远方
来源 | urlify.cn/b2umMv
66套java从入门到精通实战课程分享
学习本篇之前,可以先看下文章 什么是分布式锁,了解下基本概念。
之前都是手写一个分布式锁,其实Spring早就提供了分布式锁的实现。早期,分布式锁的相关代码存在于Spring Cloud的子项目Spring Cloud Cluster中,后来被迁移到Spring Integration中。
Spring Integration提供的全局锁,目前为这几种存储提供了实现:Gemfire、JDBC、Redis、Zookeeper
它们使用相同的API抽象--这正是Spring最擅长的。这意味着,不论使用哪种存储,你的编码体验都是一样的,有一天想更换实现,只需要修改依赖和配置就可以了,无需修改代码
下面以Redis为例,讲解Spring Integration如何使用分布式锁。
1、增加依赖:
<groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-integrationartifactId>dependency><groupId>org.springframework.integrationgroupId><artifactId>spring-integration-redisartifactId>dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-data-redisartifactId>dependency>
2、配置文件增加redis配置:
spring:
redis:
port: 6379
host: localhost
3、增加RedisLock的配置类:
&#