分布式锁只需要两行代码,Mars 3.0.6 发布

本次更新如下

  1. 新增了分布式锁
  2. 新增了MarsBean初始化
  3. 优化了代码结构,以及修复了已知的bug

分布式锁

在MarsBean里面注入MarsRedisLock对象

@MarsBean("testService")
public class TestService {

    @MarsWrite("marsRedisLock")
    private MarsRedisLock marsRedisLock;

}

加锁

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

解锁

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

详细说明

lock方法如果没有获取到锁,会等待20秒,20秒内如果能获取到锁,则正常返回true,然后往下执行,20秒内没获取到锁,则返回false,代表加锁失败。

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

初始化MarsBean

让MarsBean实现InitBean接口

@MarsBean("testService")
public class TestService implements InitBean {

}

重写init方法

@MarsBean("testService")
public class TestService implements InitBean {

    public void init(){
        重写这个方法,然后在里面写你要的初始化操作
    }
}

 

猜你喜欢

转载自www.oschina.net/news/111382/mars-java-3-0-6-released