From f6ccfe6ed3fa97d62c7fe9b10279ab0d59e80319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Thu, 10 Jun 2021 14:04:41 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E7=8B=AC=E7=AB=8B=20CountDownLatch=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/redis/RedisLockManager.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisLockManager.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisLockManager.java index e00f80096..0688bb1c5 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisLockManager.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisLockManager.java @@ -32,11 +32,6 @@ public class RedisLockManager { */ private final static Integer FAIR_LOCK = 2; - /** - * 计数锁 - */ - private final static Integer COUNT_LOCK = 3; - /** * 存放当前线程获取锁的类型 */ @@ -45,20 +40,18 @@ public class RedisLockManager { /** * 获取锁 */ - private T getLock(String key, Integer lockType) { + private RLock getLock(String key, Integer lockType) { Assert.isTrue(StrUtil.isNotBlank(key), "key不能为空"); threadLocal.set(lockType); - Object lock; + RLock lock; if (BASE_LOCK.equals(lockType)) { lock = redissonClient.getLock(key); } else if (FAIR_LOCK.equals(lockType)) { lock = redissonClient.getFairLock(key); - } else if (COUNT_LOCK.equals(lockType)) { - lock = redissonClient.getCountDownLatch(key); } else { throw new RuntimeException("锁不存在!"); } - return (T)lock; + return lock; } /** @@ -118,7 +111,7 @@ public class RedisLockManager { */ public RCountDownLatch getCountDownLatch(String key, long count) { Assert.isTrue(count >= 0, "count数量必须大于等于0"); - RCountDownLatch rCountDownLatch = getLock(key, COUNT_LOCK); + RCountDownLatch rCountDownLatch = redissonClient.getCountDownLatch(key); rCountDownLatch.trySetCount(count); return rCountDownLatch; }