28
28
import java .util .HashMap ;
29
29
import java .util .Map ;
30
30
31
-
32
31
public class RollerSessionManager implements SessionManager {
33
32
private static final Log log = LogFactory .getLog (RollerSessionManager .class );
34
33
private static final String CACHE_ID = "roller.session.cache" ;
35
34
36
35
private final Cache sessionCache ;
37
36
38
- public class SessionCacheHandler extends CacheHandlerAdapter {
39
- @ Override
40
- public void invalidate (User user ) {
41
- if (user != null && user .getUserName () != null ) {
42
- sessionCache .remove (user .getUserName ());
43
- }
44
- }
45
- }
46
-
47
37
public RollerSessionManager () {
48
38
Map <String , String > cacheProps = new HashMap <>();
49
39
cacheProps .put ("id" , CACHE_ID );
50
40
this .sessionCache = CacheManager .constructCache (null , cacheProps );
51
- SessionCacheHandler cacheHandler = new SessionCacheHandler ();
52
- CacheManager .registerHandler (cacheHandler );
41
+ CacheManager .registerHandler (new SessionCacheHandler ());
53
42
}
54
43
55
44
public void register (String userName , RollerSession session ) {
56
45
if (userName != null && session != null ) {
57
- this .sessionCache .put (userName , session );
58
- log .debug ("Registered session for user: " + userName );
46
+ try {
47
+ this .sessionCache .put (userName , session );
48
+ log .debug ("Registered session for user: " + userName );
49
+ } catch (Exception e ) {
50
+ log .error ("Failed to register session for user: " + userName , e );
51
+ }
59
52
}
60
53
}
61
54
62
55
public RollerSession get (String userName ) {
63
56
if (userName != null ) {
64
- return (RollerSession ) this .sessionCache .get (userName );
57
+ try {
58
+ return (RollerSession ) this .sessionCache .get (userName );
59
+ } catch (Exception e ) {
60
+ log .error ("Failed to retrieve session for user: " + userName , e );
61
+ }
65
62
}
66
63
return null ;
67
64
}
68
65
69
66
public void invalidate (String userName ) {
70
67
if (userName != null ) {
71
- this .sessionCache .remove (userName );
72
- log .debug ("Invalidated session for user: " + userName );
68
+ try {
69
+ this .sessionCache .remove (userName );
70
+ log .debug ("Invalidated session for user: " + userName );
71
+ } catch (Exception e ) {
72
+ log .error ("Failed to invalidate session for user: " + userName , e );
73
+ }
74
+ }
75
+ }
76
+
77
+ class SessionCacheHandler extends CacheHandlerAdapter {
78
+ @ Override
79
+ public void invalidate (User user ) {
80
+ if (user != null && user .getUserName () != null ) {
81
+ try {
82
+ sessionCache .remove (user .getUserName ());
83
+ log .debug ("Cache handler invalidated session for user: " + user .getUserName ());
84
+ } catch (Exception e ) {
85
+ log .error ("Cache handler failed to invalidate session for user: " + user .getUserName (), e );
86
+ }
87
+ }
73
88
}
74
89
}
75
- }
90
+ }
0 commit comments