diff --git a/redisson-tomcat/redisson-tomcat-10/src/main/java/org/redisson/tomcat/RedissonSessionManager.java b/redisson-tomcat/redisson-tomcat-10/src/main/java/org/redisson/tomcat/RedissonSessionManager.java index e82a93d3ea3..28a4306d894 100644 --- a/redisson-tomcat/redisson-tomcat-10/src/main/java/org/redisson/tomcat/RedissonSessionManager.java +++ b/redisson-tomcat/redisson-tomcat-10/src/main/java/org/redisson/tomcat/RedissonSessionManager.java @@ -315,10 +315,9 @@ public void onMessage(CharSequence channel, AttributeMessage msg) { if (msg instanceof SessionDestroyedMessage) { Session s = findSession(msg.getSessionId(), false); - if (s == null) { - throw new IllegalStateException("Unable to find session: " + msg.getSessionId()); + if (s != null) { + s.expire(); } - s.expire(); RSet set = getNotifiedNodes(msg.getSessionId()); set.add(nodeId); } diff --git a/redisson-tomcat/redisson-tomcat-7/src/main/java/org/redisson/tomcat/RedissonSessionManager.java b/redisson-tomcat/redisson-tomcat-7/src/main/java/org/redisson/tomcat/RedissonSessionManager.java index 2ed80de95c7..557dc296da9 100644 --- a/redisson-tomcat/redisson-tomcat-7/src/main/java/org/redisson/tomcat/RedissonSessionManager.java +++ b/redisson-tomcat/redisson-tomcat-7/src/main/java/org/redisson/tomcat/RedissonSessionManager.java @@ -315,10 +315,9 @@ public void onMessage(CharSequence channel, AttributeMessage msg) { if (msg instanceof SessionDestroyedMessage) { Session s = findSession(msg.getSessionId(), false); - if (s == null) { - throw new IllegalStateException("Unable to find session: " + msg.getSessionId()); + if (s != null) { + s.expire(); } - s.expire(); RSet set = getNotifiedNodes(msg.getSessionId()); set.add(nodeId); } diff --git a/redisson-tomcat/redisson-tomcat-8/src/main/java/org/redisson/tomcat/RedissonSessionManager.java b/redisson-tomcat/redisson-tomcat-8/src/main/java/org/redisson/tomcat/RedissonSessionManager.java index 8c4f7134474..da70f9a2bcb 100644 --- a/redisson-tomcat/redisson-tomcat-8/src/main/java/org/redisson/tomcat/RedissonSessionManager.java +++ b/redisson-tomcat/redisson-tomcat-8/src/main/java/org/redisson/tomcat/RedissonSessionManager.java @@ -315,10 +315,9 @@ public void onMessage(CharSequence channel, AttributeMessage msg) { if (msg instanceof SessionDestroyedMessage) { Session s = findSession(msg.getSessionId(), false); - if (s == null) { - throw new IllegalStateException("Unable to find session: " + msg.getSessionId()); + if (s != null) { + s.expire(); } - s.expire(); RSet set = getNotifiedNodes(msg.getSessionId()); set.add(nodeId); } diff --git a/redisson-tomcat/redisson-tomcat-9/src/main/java/org/redisson/tomcat/RedissonSessionManager.java b/redisson-tomcat/redisson-tomcat-9/src/main/java/org/redisson/tomcat/RedissonSessionManager.java index 8c4f7134474..da70f9a2bcb 100644 --- a/redisson-tomcat/redisson-tomcat-9/src/main/java/org/redisson/tomcat/RedissonSessionManager.java +++ b/redisson-tomcat/redisson-tomcat-9/src/main/java/org/redisson/tomcat/RedissonSessionManager.java @@ -315,10 +315,9 @@ public void onMessage(CharSequence channel, AttributeMessage msg) { if (msg instanceof SessionDestroyedMessage) { Session s = findSession(msg.getSessionId(), false); - if (s == null) { - throw new IllegalStateException("Unable to find session: " + msg.getSessionId()); + if (s != null) { + s.expire(); } - s.expire(); RSet set = getNotifiedNodes(msg.getSessionId()); set.add(nodeId); }