spring-boot-klock-starter V1.1 主体功能重大更新 - 开源中国社区
Float_left Icon_close
spring-boot-klock-starter V1.1 主体功能重大更新
KL博客 2018年01月25日

spring-boot-klock-starter V1.1 主体功能重大更新

KL博客 KL博客 发布于2018年01月25日 收藏 25 评论 10

阿里云高性能云服务器,2折起! >>> >>>  

spring-boot-klock-starter

基于redis的spring-boot分布式锁组件,使得项目拥有分布式锁能力变得异常简单,开箱即用。

此组件同样适用于spring mvc项目。

本次更新内容:

  1. 支持锁定方法入参的业务key

  2. 支持注解方式获取业务key

  3. 支持Spel获取业务key

具体使用方式如下:

输入图片说明

使用场景描述:

本次更新主要解决,如果入参的value相同时需要加锁,入参的value不同的时候不加锁直接放行的场景;

开箱即用

1.添加lock starter组件依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-klock-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

2.application.properties配置redis链接:spring.klock.address=127.0.0.1:6379

3.在需要加分布式锁的方法上,添加注解@Klock,如:

@Service
public class TestService {

    @Klock(waitTime = Long.MAX_VALUE)
    public String getValue(String param) throws Exception {
        if ("sleep".equals(param)) {//线程休眠或者断点阻塞,达到一直占用锁的测试效果
            Thread.sleep(1000 * 50);
        }
        return "success";
    }
}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:spring-boot-klock-starter V1.1 主体功能重大更新
分享
评论(10)
最新评论
0
还有从服务器的expire似乎有问题
0
redis异步复制,机器挂了,会丢锁吗
0

引用来自“freezingsky”的评论

目前,大多数的Redis分布锁方案都是锁单个Key,作者有没有时间实现一下,一次可以同时锁多个Key的。基于set指令的实现^_^
没时间。貌似现有就是你要的场景吧
0

引用来自“freezingsky”的评论

整体上,简单易用是实话,本质上就是在Redission上包一层。但KeyProvider机制没有公共接口,想要自己扩展就得改你的源码。。另外,StringBuffer 换到 builder吧。
不换:sunglasses:
0
目前,大多数的Redis分布锁方案都是锁单个Key,作者有没有时间实现一下,一次可以同时锁多个Key的。基于set指令的实现^_^
0
整体上,简单易用是实话,本质上就是在Redission上包一层。但KeyProvider机制没有公共接口,想要自己扩展就得改你的源码。。另外,StringBuffer 换到 builder吧。
0

引用来自“开源中国首席董事长”的评论

starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

引用来自“KL博客”的评论

@开源中国首席董事长 你这关注点可以,你最专业

引用来自“哈哈爱兮爱兮乎乎”的评论

人家说的没错,为啥不遵循一样的习惯呢
回复@哈哈爱兮爱兮乎乎 : 项目评论里有说明了,不想一遍一遍的解释了
0

引用来自“开源中国首席董事长”的评论

starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

引用来自“KL博客”的评论

@开源中国首席董事长 你这关注点可以,你最专业
人家说的没错,为啥不遵循一样的习惯呢
0

引用来自“开源中国首席董事长”的评论

starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

@开源中国首席董事长 你这关注点可以,你最专业
0
starter非官方命名规范 xxx-spring-boot-starter. 一看就不专业。

顶部