本次更新如下
- 新增了分布式锁
- 新增了MarsBean初始化
- 优化了代码结构,以及修复了已知的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(){
重写这个方法,然后在里面写你要的初始化操作
}
}