为了账号安全,请及时绑定邮箱和手机立即绑定

如何获得当前web项目内存里驻留的所有存活的http session列表?

如何获得当前web项目内存里驻留的所有存活的http session列表?

繁华开满天机 2019-05-24 11:38:07
web项目是springmvc+spring+hibernate对于每个session我存一个map(session_id,token)然后定时任务,每天去清理掉那些map,如果其session已经失效的话有何方法获得当前web项目内存里驻留的所有存活的httpsession列表?
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

publicclassHttpSessionCollectorimplementsHttpSessionListener{
privatestaticfinalMapsessions=newHashMap();
@Override
publicvoidsessionCreated(HttpSessionEventevent){
HttpSessionsession=event.getSession();
sessions.put(session.getId(),session);
}
@Override
publicvoidsessionDestroyed(HttpSessionEventevent){
sessions.remove(event.getSession().getId());
}
publicstaticHttpSessionfind(StringsessionId){
returnsessions.get(sessionId);
}
}
HowdoIgetalistofallHttpSessionobjectsinawebapplication?
                            
查看完整回答
反对 回复 2019-05-24
?
阿晨1998

TA贡献2037条经验 获得超6个赞

可以通过实现HttpSessionListener接口来进行session的管理,实现sessionCreated和sessionDestroyed就可以监听session的创建和销毁了,如果不按servlet标准的话看tomcat源码吧,然后反射拿到内部的session集合就行了,之前有这样干过。
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 592 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信