lock-spring-boot-starter

基于 redisson 的分布式锁框架
授权协议 Apache
开发语言 Java
所属分类 服务器软件、 分布式应用/网格
软件类型 开源软件
地区 国产
投 递 者 戚兴邦
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

lock-spring-boot-starter

介绍

基于 redisson 实现的 spring boot starter 分布式锁框架,实现了可重入锁、公平锁、联锁、红锁、读写锁等常用锁的方式,并支持集群模式下的 redis 。

使用说明

  1. 创建 Spring Boot 项目

  2. 引入 maven 依赖

     <dependency>
         <groupId>org.august.spring.boot</groupId>
         <artifactId>lock-spring-boot-starter</artifactId>
         <version>0.0.1-SNAPSHOT</version>
     </dependency>
  3. 在 Spring Boot 的项目配置文件 application.yml 中添加相应的配置,如:

     lock-config: 
         pattern: single #redis模式配置,single:单机模式,cluster:集群模式,replicated:云托管模式,sentinel:哨兵模式,master_slave:主从模式
         # 不同的redis模式对应不同的配置方式,single-server对应的就是单机模式,具体参数意义可参考redisson的配置参数说明
         single-server: 
             address: 127.0.0.1
             port: 6379
             password: 123456
  4. 在需要使用分布式锁的方法上面使用 @Lock 注解,锁的关键字使用 @Key ,如:

     @Lock
     public void hello(String ces, @Key String orderNo) {
     	System.out.println("hello");
     }

    如果需要配置不同类型的锁,可以直接变更 @Lock 的参数值即可,默认是可重入锁

    @Lock 提供四个参数可以配置: lockType:锁类型 leaseTime:加锁时间 waitTime:最长等待时间 timeUnit:锁时长单位

    DEMO 地址如下:https://gitee.com/yizhigui/lock-spring-boot-starter-demo

  • 一、理解spring-boot-starter-parent 通过spring initializr,我们可以快速构建一个springboot应用,如果你选择的是Maven来管理项目,在默认的pom文件中有这么一个section: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot

  • 我们开发多数都会安装maven进行jar包统一管理,以及配置本地仓库进行jar包的保存。 linux的maven安装以及配置大家可以在网上一搜一大把,就不说安装步骤了。 现在说一下本人在linux上安装maven以及配置本地仓库的一个坑(有时候是自己的粗心导致的!) 安装好maven以及配置本地仓库之后,进行简单的springBoot项目的创建,下载依赖一直报错: Could not transf

  • 在新建springboot项目引入RELEASE版本时,有几率从远程仓库下载jar包出错,导致jar包无法导入.即使我把相关的包都删完,都不行,要么换个仓库,要么换个版本.下面给出两个解决方法。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</a

  • spring-boot-starter-parent 包maven依赖报错 报错代码: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent

  • 1、引入依赖 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>${redission.starter.version}</ver

  • 目录 1 build.gradle 引入JAR     2  配置文件:bootstrap-dev.yml 3 RedisConfig.java   4 CacheService.java 目前Java操作redis的客户端有jedis跟lettuce。   在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce。 因为我们的版本是

  • 在新建springboot项目引入RELEASE版本时,有几率从远程仓库下载jar包出错,导致jar包无法导入.即使我把相关的包都删完,都不行,要么换个仓库,要么换个版本.下面给出两个解决方法。 <parent>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-start

  • redis依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.6.RELEASE</version> </dependency> appli

  • 搭建过程给中,主要是围绕两个点     1、不能有Spring-boot-starter-web(就是不能有springmvc)     2、必须要有Spring-boot-starter-webflux 很多时候我们一个我们可能在spring-cloud-gateway这个模块中引入其他的依赖,例如你引入了一个你自己写的一个common模块,但是你这风格模块里有依赖Spring-boot-sta

  • 是的!!!2.0的eureka也改头换面了!!! <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.0.0</version> </dependency>

  • 异常信息 Project 'org.springframework.boot:spring-boot-starter-parent:1.3.3.RELEASE' not found more... (Ctrl+F1) <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

  • 转载自:https://blog.csdn.net/FungLi_notLove/article/details/104469940 解决新建springboot项目时包导不进来的问题 发现问题 新建一个springboot项目 此时maven的setting配置文件配置的阿里云的源 发现很多包导不进来,于是reimport,没有效果 于是执行clean命令 报错 Could not transf

 相关资料
  • redisson-spring-boot-starter 目前有很多项目还在使用jedis的 setNx 充当分布式锁,然而这个锁是有问题的,redisson是java支持redis的redlock的唯一实现, 官方目前只有java web版本,配置起来很麻烦.集成该项目后只需要极少的配置.就能够使用redisson的全部功能. 目前支持集群模式,云托管模式,单Redis节点模式,哨兵模式,主从模

  • 基于redis的分布式锁spring-boot starter组件,使得项目拥有分布式锁能力变得异常简单,支持spring boot,和spirng mvc等spring相关项目 快速开始 spring boot项目接入 1.添加lock starter组件依赖,目前还没上传到公共仓库,需要自己下源码build         <dependency>            <groupId>or

  • 本文向大家介绍Java使用Redisson分布式锁实现原理,包括了Java使用Redisson分布式锁实现原理的使用技巧和注意事项,需要的朋友参考一下 1. 基本用法 针对上面这段代码,重点看一下Redisson是如何基于Redis实现分布式锁的 Redisson中提供的加锁的方法有很多,但大致类似,此处只看lock()方法 更多请参见https://github.com/redisson/red

  • 本文向大家介绍SpringBoot集成Redisson实现分布式锁的方法示例,包括了SpringBoot集成Redisson实现分布式锁的方法示例的使用技巧和注意事项,需要的朋友参考一下 上篇 《SpringBoot 集成 redis 分布式锁优化》对死锁的问题进行了优化,今天介绍的是 redis 官方推荐使用的 Redisson ,Redisson 架设在 redis 基础上的 Java 驻内存

  • 本文向大家介绍Java编程redisson实现分布式锁代码示例,包括了Java编程redisson实现分布式锁代码示例的使用技巧和注意事项,需要的朋友参考一下 最近由于工作很忙,很长时间没有更新博客了,今天为大家带来一篇有关Redisson实现分布式锁的文章,好了,不多说了,直接进入主题。 1. 可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现

  • 本系统中的分布式锁设计用于Storm多个线程实例抢占Redis缓存资源时出现的事务性问题,这个事务性问题是由客户端本身业务逻辑需求产生的,无法在服务端进行有效处理,需给出一个分布式资源同步的方案,此处我们采用了分布式锁来完成这项设计。 锁是编程中非常常见的概念。在维基百科上对锁有个相当精确的定义:在计算机科学中,锁是一种在多线程环境中用于强行限制资源访问的同步机制。锁被设计用于执行一个互斥的并发控