From f8d200edceaae3f27198bc9a3eafe408d736e4bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 10 Mar 2023 17:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91RedissonLockClient?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lock/client/RedissonLockClient.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/jero-boot/jero-boot-starter/jero-boot-starter-lock/src/main/java/com/jero/boot/starter/lock/client/RedissonLockClient.java b/jero-boot/jero-boot-starter/jero-boot-starter-lock/src/main/java/com/jero/boot/starter/lock/client/RedissonLockClient.java index 2eac30d8..c9c85be3 100644 --- a/jero-boot/jero-boot-starter/jero-boot-starter-lock/src/main/java/com/jero/boot/starter/lock/client/RedissonLockClient.java +++ b/jero-boot/jero-boot-starter/jero-boot-starter-lock/src/main/java/com/jero/boot/starter/lock/client/RedissonLockClient.java @@ -59,7 +59,9 @@ public class RedissonLockClient { } } catch (InterruptedException e) { log.error("获取式锁异常,lockName=" + lockName, e); - getLock = false; + Thread.currentThread().interrupt(); + }finally { + rLock.unlock(); } return getLock; } @@ -76,6 +78,9 @@ public class RedissonLockClient { return fairLock.tryLock(3, leaseTime, unit); } catch (InterruptedException e) { e.printStackTrace(); + Thread.currentThread().interrupt(); + }finally { + fairLock.unlock(); } return false; } @@ -91,7 +96,13 @@ public class RedissonLockClient { */ public RLock lock(String lockKey) { RLock lock = getLock(lockKey); - lock.lock(); + try { + lock.lock(); + }catch (Exception e){ + e.printStackTrace(); + } finally { + lock.unlock(); + } return lock; } @@ -104,7 +115,13 @@ public class RedissonLockClient { */ public RLock lock(String lockKey, long leaseTime) { RLock lock = getLock(lockKey); - lock.lock(leaseTime, TimeUnit.SECONDS); + try { + lock.lock(leaseTime, TimeUnit.SECONDS); + }catch (Exception e){ + e.printStackTrace(); + }finally { + lock.unlock(); + } return lock; }