java.lang.IllegalMonitorStateException: attempt to unlock lock, not locked by current thread by node id: cf33cced-5530-4f0a-a41b-5366a3d430a7 thread-id: 142
原因: redisson在释放锁时,报错。 解决方法: 把 public void releaseLock(RLock rLock) { if(rLock != null) { //如果锁被当前线程持有,则释放。多一个判断,减少报错信息的出现 if(rLock.isHeldByCurrentThread()) { //解锁 rLock.unlock(); logger.info(“releaseLock end-------”); } } } 改成 public void releaseLock(RLock rLock) { if(rLock != null) { //如果锁被当前线程持有,则释放。多一个判断,减少报错信息的出现 //在解锁之前先判断要解锁的key是否已被锁定并且是否被当前线程保持。如果满足条件时才解锁。 if(rLock.isLocked() && rLock.isHeldByCurrentThread()) { //解锁 rLock.unlock(); logger.info(“releaseLock end-------”); } } }