From 8c53620702597e1665cc7008f842434e3a08c4e9 Mon Sep 17 00:00:00 2001 From: luyya Date: Mon, 7 Jul 2025 10:39:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A3=E5=9F=8E=E4=BD=8D=E7=BD=AE=E6=B1=87?= =?UTF-8?q?=E8=81=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/data2es/handler/RedisExpireListener.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/stwzhj-modules/wzhj-data2es/src/main/java/org/dromara/data2es/handler/RedisExpireListener.java b/stwzhj-modules/wzhj-data2es/src/main/java/org/dromara/data2es/handler/RedisExpireListener.java index b9ebc976..b1ba8fdc 100644 --- a/stwzhj-modules/wzhj-data2es/src/main/java/org/dromara/data2es/handler/RedisExpireListener.java +++ b/stwzhj-modules/wzhj-data2es/src/main/java/org/dromara/data2es/handler/RedisExpireListener.java @@ -37,8 +37,6 @@ public class RedisExpireListener extends KeyExpirationEventMessageListener { @Autowired DataToEsController dataToEsController; - Logger logger = LoggerFactory.getLogger(RedisExpireListener.class); - /** * Creates new {@link MessageListener} for {@code __keyevent@*__:expired} messages. @@ -52,8 +50,10 @@ public class RedisExpireListener extends KeyExpirationEventMessageListener { @Override public void onMessage(Message message, byte[] pattern) { String expireKey = message.toString(); + log.info("过期的Key={}",expireKey); if(StringUtils.isNotEmpty(expireKey) && expireKey.startsWith(RedisConstants.ONLINE_USERS_TEN)){ + log.info("在线定位过期的Key={}",expireKey); handleExpiredEvent(expireKey); } } @@ -85,7 +85,10 @@ public class RedisExpireListener extends KeyExpirationEventMessageListener { } catch (InterruptedException e) { e.printStackTrace(); } finally { - lock.unlock(); + // 仅在当前线程持有锁时释放 + if (lock.isHeldByCurrentThread()) { + lock.unlock(); + } } }