基于redis的 spring-boot 分布式锁组件,使得项目拥有分布式锁能力变得异常简单,开箱即用。
此组件同样适用于spring mvc项目。
本次更新内容:
- 支持锁定方法入参的业务key
- 支持注解方式获取业务key
- 支持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"; } }
总结
以上所述是小编给大家介绍的spring-boot-klock-starter V1.1 主体功能重大更新内容介绍,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。