diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/RedisTemplateSimpleDistributedLock.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/RedisTemplateSimpleDistributedLock.java index 25a6d2d78..364b04b57 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/RedisTemplateSimpleDistributedLock.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/util/locks/RedisTemplateSimpleDistributedLock.java @@ -42,13 +42,17 @@ public class RedisTemplateSimpleDistributedLock implements Lock { @Override public void lock() { + boolean interrupted = false; while (!tryLock()) { try { Thread.sleep(1000); } catch (InterruptedException e) { - Thread.currentThread().interrupt(); + interrupted = true; } } + if (interrupted) { + Thread.currentThread().interrupt(); + } } @Override