Redissonベースの分散ロック、宣言式注釈方式、
1933 ワード
Lock-Thanos
Redissonベースの分散ロック、宣言式注釈方式、gitアドレス、好きな星を残してください
###一.機能:公平ロックの再入をサポートし、非公平ロック、書き込みロック、読み取りロック 注釈宣言式設定パラメータをサポート カスタムエラー処理 2.導入項目:1 pomパラメータを導入する:
2アプリケーションプロファイルの作成
3注釈の導入:
4カスタム例外処理:
Redissonベースの分散ロック、宣言式注釈方式、gitアドレス、好きな星を残してください
###一.機能:
com.kakuiwong
lock-thanos
${lastversion}
2アプリケーションプロファイルの作成
lock.thanos.address=redis://127.0.0.1:6379,redis://127.0.0.2:6379 #
lock.thanos.password=123456 #
lock.thanos.database=2 #redis
lock.thanos.order=0 #aop
3注釈の導入:
@LockThanos(key = {"#id"}, # spel key
type = LockTypeEnum.FAIRLOCK, #
lockName = "default", #
tryLockTime = 30, #
autoUnlockTime = 30, #
timeUnit = TimeUnit.SECONDS, #
exceptionHandler = LockExceptionHandlerDemo.class) #
@GetMapping("lock")
public Object lock(String id){
System.out.println(id);
return id;
}
4カスタム例外処理:
// LockExceptionHandler ,
static class LockExceptionHandlerDemo implements LockExceptionHandler {
@Override
public Object lockFailHandle(ProceedingJoinPoint joinPoint, ThanosLockI lock, LockParam lockParam) throws Throwable {
System.out.println("lockFailHandle");
return joinPoint.proceed();
}
@Override
public void unLockFailHandle(ProceedingJoinPoint joinPoint, ThanosLockI lock, LockParam lockParam) {
System.out.println("unLockFailHandle");
}
}