我想知道是否有一种方法可以在Java EE / GlassFish / Spring中以编程方式定义会话超时,而不是在web.xml
中设置它。我知道您可以通过event.getSession().setMaxInactiveInterval(interval);
为一个会话执行此操作,但我想为所有会话执行此操作,包括之前创建的会话。
答案 0 :(得分:0)
要解决问题,首先需要列出当前有效的所有会话,然后使其无效。
Java EE不提供用于列出所有会话的现成API,但通过添加HttpSessionListener
,您可以获得所有活动会话的列表。即将sessionCreated()
上的会话添加到列表中,然后从列表中删除sessionDestroyed()
上的会话。
一旦完成,那么,它只是通过列表迭代来更改会话属性的任务。