11.17 分佈式鎖只需要兩行代碼,Mars 3.0.6 發佈

分享一個關於分佈式鎖的新東西,mars,它可以很方便地實現加鎖和解鎖,有興趣的可以試下

分佈式鎖只需要兩行代碼,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(){
重寫這個方法,然後在裡面寫你要的初始化操作
}
}

文章轉載自 OSCHINA 社區 [http://www.oschina.net]

本文標題:分佈式鎖只需要兩行代碼,Mars 3.0.6 發佈

本文地址:https://www.oschina.net/news/111382/mars-java-3-0-6-released


分享到:


相關文章: