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

web项目是springmvc+spring+hibernate
对于每个session
我存一个map(session_id,token)
然后定时任务,每天去清理掉那些map,如果其session已经失效的话
有何方法获得当前web项目内存里驻留的所有存活的httpsession列表?
繁华开满天机
浏览 593回答 2
2回答

守着星空守着你

publicclassHttpSessionCollectorimplementsHttpSessionListener{privatestaticfinalMapsessions=newHashMap();@OverridepublicvoidsessionCreated(HttpSessionEventevent){HttpSessionsession=event.getSession();sessions.put(session.getId(),session);}@OverridepublicvoidsessionDestroyed(HttpSessionEventevent){sessions.remove(event.getSession().getId());}publicstaticHttpSessionfind(StringsessionId){returnsessions.get(sessionId);}}HowdoIgetalistofallHttpSessionobjectsinawebapplication?

阿晨1998

可以通过实现HttpSessionListener接口来进行session的管理,实现sessionCreated和sessionDestroyed就可以监听session的创建和销毁了,如果不按servlet标准的话看tomcat源码吧,然后反射拿到内部的session集合就行了,之前有这样干过。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript