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; }