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(); + } } }