(默认spring session会自动开启该配置)
配置文件:notify-keyspace-events Ex
命令行:redis-cli config set notify-keyspace-events Egx
不需要自动开启该配置的话可以将如下配置加入到容器中
在spring-Session中session的创建、删除、过期都会接收到redis相关事件的通知
spring-session中接收到相关通知后再由Spring发布相关ApplicationEvent(SessionCreatedEvent 、SessionDeletedEvent 、SessionExpiredEvent)
由spring-context提供的@EventListener注解即可实现相关事件的监听
Spring Session官方文档
将Redis消息转换为Spring的ApplicationEvent实现类:org.springframework.session.data.redis.RedisOperationsSessionRepository
Redis键空间通知
Spring-session启动失败
Spring-session redis启动失败
您好,session的存在和失效很难控制`我当初是写了一个JS`每隔一段时间判断该session是否存在。勉强能用一下.大概也就这个办法`
function checkSession(){
if(<%=session.getAttribute("xxx")%>==null){
alert("session失效")
}
setTimeout("checkSession()",2000)
}
橛幸桓鯯essionManager(TUNIGuiSessionManger类)的属性,通过TUNIGuiSessionManger类的相关属性可以来监听web会话的开始与结束。如:UniServerModule.SessionManager.Sessions.OnSessionStart := OnSessionStartUniServerModule.SessionManager.Sessions.OnSessionEnd := OnSessionEndprocedure TFrmMon.OnSessionStart(Sender: TIdHTTPSession)varRemoteIp,SessionID:stringbeginRemoteIP:= TUniGUISession(Sender).UniApplication.RemoteAddressSessionID:= TUniGUISession(Sender).SessionID//根据ip和会话编号进一步处理。endprocedure TFrmMon.OnSessionEnd(Sender: TIdHTTPSession)varRemoteIp,SessionID:stringbeginRemoteIP:= TUniGUISession(Sender).UniApplication.RemoteAddressSessionID:= TUniGUISession(Sender).SessionID//根据ip和会话编号进一步处理。end下面是一个完整的代码单元:欢迎分享,转载请注明来源:夏雨云
评论列表(0条)