spring-boot-klock-starter 基于redis的spring-boot分布式锁组件,使得项目拥有分布式锁能力变得异常简单,开箱即用。 此组件同样适用于spring mvc项目。 本次更新内容:
具体使用方式如下: 使用场景描述: 本次更新主要解决,如果入参的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";
}
} |