SpringSession 中对session的监听

spring session为session共享带来了很大便利,方便依赖session的项目快速集群。可是原来的session监听却失效了,这里记录下如何在spring session下对session进行监听。版本说明:springboot2.1.1 & spring-session-data-redis2.1.2

配置代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
* Redis spring session配置
*/
@Configuration
@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 1800)//session过期时间(秒)
public class SpringSessionRedisConfig {

/**
*  过期session事件监听
*  
*/
@EventListener
public void onSessionExpired(SessionExpiredEvent expiredEvent) {
String sessionId = expiredEvent.getSessionId();
System.out.println("过期:" + sessionId);
}

/**
*  删除session事件监听
*  
*/
@EventListener
public void onSessionDeleted(SessionDeletedEvent deletedEvent) {
String sessionId = deletedEvent.getSessionId();
System.out.println("删除:" + sessionId);
}

/**
*  创建session事件监听
*  
*/
@EventListener
public void onSessionCreated(SessionCreatedEvent createdEvent) {
String sessionId = createdEvent.getSessionId();
System.out.println("创建:" + sessionId);
}
}

测试结果

如图所示,已经成功监听的session的动作!
图1

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×