From 3c0b3527729041a50f9b35a14452fd48c49106ff Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 26 Feb 2024 08:56:14 +0300 Subject: [PATCH] Fixed - FlushListener catches causes ClassCastException. #5650 --- .../src/main/java/org/redisson/RedissonIdGenerator.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonIdGenerator.java b/redisson/src/main/java/org/redisson/RedissonIdGenerator.java index 06bf7be42..acbfa3060 100644 --- a/redisson/src/main/java/org/redisson/RedissonIdGenerator.java +++ b/redisson/src/main/java/org/redisson/RedissonIdGenerator.java @@ -75,8 +75,7 @@ public class RedissonIdGenerator extends RedissonExpirable implements RIdGenerat private final AtomicBoolean isWorkerActive = new AtomicBoolean(); private void startIdRequestsHandle() { - if (!isWorkerActive.compareAndSet(false, true) - || commandExecutor.getServiceManager().getExecutor().isShutdown()) { + if (!isWorkerActive.compareAndSet(false, true)) { return; } @@ -84,6 +83,10 @@ public class RedissonIdGenerator extends RedissonExpirable implements RIdGenerat } private void handleIdRequests() { + if (getServiceManager().isShuttingDown()) { + return; + } + if (queue.peek() == null) { isWorkerActive.set(false); if (!queue.isEmpty()) {