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

时间:2022-03-16 18:50:13

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

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

本次更新内容:

  1. 支持锁定方法入参的业务key
  2. 支持注解方式获取业务key
  3. 支持Spel获取业务key

具体使用方式如下:

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

使用场景描述:

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

开箱即用

1.添加lock starter组件依赖    

?
1
2
3
4
5
<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,如:

?
1
2
3
4
5
6
7
8
9
10
@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";
  }
}

总结

以上所述是小编给大家介绍的spring-boot-klock-starter V1.1 主体功能重大更新内容介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:https://www.oschina.net/news/92759/spring-boot-klock-starter-1-1