基于redis的 spring-boot 分布式鎖組件,使得項目擁有分布式鎖能力變得異常簡單,開箱即用。
此組件同樣適用于spring mvc項目。
本次更新內容:
- 支持鎖定方法入參的業務key
- 支持注解方式獲取業務key
- 支持Spel獲取業務key
具體使用方式如下:
使用場景描述:
本次更新主要解決,如果入參的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