Kaynağa Gözat

商品做法关联编辑完成

xujunwei 4 yıl önce
ebeveyn
işleme
2edcd8d17a

+ 4 - 8
framework-starter/mrxu-starter-redisson/src/main/java/com/mrxu/framework/starter/redisson/anno/Lock.java

@@ -1,13 +1,9 @@
 package com.mrxu.framework.starter.redisson.anno;
 
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
 import com.mrxu.framework.starter.redisson.bean.LockPolicy;
 
+import java.lang.annotation.*;
+
 @Target({ElementType.METHOD})
 @Retention(RetentionPolicy.RUNTIME)
 @Documented
@@ -16,7 +12,7 @@ public @interface Lock {
 	/**
 	 * 锁的策略
 	 */
-    LockPolicy policy() default LockPolicy.Lock;
+    LockPolicy policy() default LockPolicy.SpinLock;
 
     /**
      * 锁持续时间 单位秒 默认1分钟
@@ -26,7 +22,7 @@ public @interface Lock {
     /**
      * 自旋锁超时时间 单位毫秒
      */
-    long waitTime() default 300L;
+    long waitTime() default 2000L;
 
     /**
      * redis锁的key前缀 如果为空,则默认为类名+方法名

+ 3 - 2
framework-starter/mrxu-starter-redisson/src/main/java/com/mrxu/framework/starter/redisson/aop/LockManager.java

@@ -24,8 +24,8 @@ import com.mrxu.framework.starter.redisson.bean.LockPolicy;
 /**
  * @version v1
  * @summary 分布式锁管理
- * @Lock(policy = LockPolicy.Lock)
-   public boolean service(@LockKey int id, @LockKey String name) {
+ @Lock(policy= LockPolicy.SpinLock,leaseTime=60,waitTime=2000l,keyPrex="",failMsg="测试")
+ public ResponseObj<PageResult<StoreInfo>> list(@LockKey @RequestParam("tenantId")String tenantId,@LockKey(keyField="tenantId") @RequestBody StoreDto dto)
  */
 @Aspect
 @Component
@@ -69,6 +69,7 @@ public class LockManager {
                 }
             }
         }
+        logger.debug("分布式锁key:{}",lockKey.toString());
         LockPolicy policy = lock.policy();
         RLock fairLock = redissonClient.getFairLock(lockKey.toString());
         boolean getLock = false;