diff --git a/redisson-tomcat/redisson-tomcat-6/src/main/java/org/redisson/tomcat/RedissonSessionManager.java b/redisson-tomcat/redisson-tomcat-6/src/main/java/org/redisson/tomcat/RedissonSessionManager.java index 45b1c95c3..a46bc31d2 100644 --- a/redisson-tomcat/redisson-tomcat-6/src/main/java/org/redisson/tomcat/RedissonSessionManager.java +++ b/redisson-tomcat/redisson-tomcat-6/src/main/java/org/redisson/tomcat/RedissonSessionManager.java @@ -17,6 +17,7 @@ package org.redisson.tomcat; import java.io.File; import java.io.IOException; +import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.UUID; @@ -164,11 +165,15 @@ public class RedissonSessionManager extends ManagerBase implements Lifecycle { Session result = super.findSession(id); if (result == null) { if (id != null) { - Map attrs; - if (readMode == ReadMode.MEMORY) { - attrs = getMap(id).readAllMap(); - } else { - attrs = getMap(id).getAll(RedissonSession.ATTRS); + Map attrs = new HashMap(); + try { + if (readMode == ReadMode.MEMORY) { + attrs = getMap(id).readAllMap(); + } else { + attrs = getMap(id).getAll(RedissonSession.ATTRS); + } + } catch (Exception e) { + log.error("Can't read session object by id " + id, e); } if (attrs.isEmpty() || !Boolean.valueOf(String.valueOf(attrs.get("session:isValid")))) { 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 de5be0f8d..d9d6ca0f4 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 @@ -145,10 +145,14 @@ public class RedissonSessionManager extends ManagerBase { if (result == null) { if (id != null) { Map attrs = new HashMap(); - if (readMode == ReadMode.MEMORY) { - attrs = getMap(id).readAllMap(); - } else { - attrs = getMap(id).getAll(RedissonSession.ATTRS); + try { + if (readMode == ReadMode.MEMORY) { + attrs = getMap(id).readAllMap(); + } else { + attrs = getMap(id).getAll(RedissonSession.ATTRS); + } + } catch (Exception e) { + log.error("Can't read session object by id " + id, e); } if (attrs.isEmpty() || !Boolean.valueOf(String.valueOf(attrs.get("session:isValid")))) { 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 5865f4c32..211639c2c 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 @@ -146,10 +146,14 @@ public class RedissonSessionManager extends ManagerBase { if (result == null) { if (id != null) { Map attrs = new HashMap(); - if (readMode == ReadMode.MEMORY) { - attrs = getMap(id).readAllMap(); - } else { - attrs = getMap(id).getAll(RedissonSession.ATTRS); + try { + if (readMode == ReadMode.MEMORY) { + attrs = getMap(id).readAllMap(); + } else { + attrs = getMap(id).getAll(RedissonSession.ATTRS); + } + } catch (Exception e) { + log.error("Can't read session object by id " + id, e); } if (attrs.isEmpty() || !Boolean.valueOf(String.valueOf(attrs.get("session:isValid")))) { 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 b65269c0f..e1d0655c2 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 @@ -144,10 +144,14 @@ public class RedissonSessionManager extends ManagerBase { if (result == null) { if (id != null) { Map attrs = new HashMap(); - if (readMode == ReadMode.MEMORY) { - attrs = getMap(id).readAllMap(); - } else { - attrs = getMap(id).getAll(RedissonSession.ATTRS); + try { + if (readMode == ReadMode.MEMORY) { + attrs = getMap(id).readAllMap(); + } else { + attrs = getMap(id).getAll(RedissonSession.ATTRS); + } + } catch (Exception e) { + log.error("Can't read session object by id " + id, e); } if (attrs.isEmpty() || !Boolean.valueOf(String.valueOf(attrs.get("session:isValid")))) {