资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

分布式锁只需要一行注解,Mars-java框架

在要加锁的方法上添加redisLock注解

@RedisLock(key = "自己定义一个key")
public int insert(){
  return 1;
}

这个锁会在事务开启之前获取,在事务提交以后解锁,并且只对MarsBean有效,对API和DAO无效

成都创新互联主要从事成都网站设计、网站建设、外贸网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务可克达拉,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

如果你不需要锁住整个方法,只需要锁一小段代码,那么可以用下面的方式

在MarsBean里面注入MarsRedisLock对象

@MarsBean("testService")
public class TestService {

    @MarsWrite("marsRedisLock")
    private MarsRedisLock marsRedisLock;

}

加锁

Boolean haslock = marsRedisLock.lock("自己定义一个key");
if(haslock){
    执行加锁后才能执行的代码
}

解锁

marsRedisLock.unlock("加锁的时候传入的那个key");

详细说明

无论是用注解还是lock方法,如果没有获取到锁,会等待20秒,20秒内如果能获取到锁,则正常往下执行,20秒内没获取到锁,则直接停止本次操作

lock方法 会返回true和false来表示有无获取到锁

锁的有效时间为20秒,20秒以后会自动解锁

官网

http://mars-framework.com/


标题名称:分布式锁只需要一行注解,Mars-java框架
地址分享:http://cdkjz.cn/article/poogio.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220