以编程方式在Java EE / GlassFish / Spring中定义全局会话超时

时间:2016-03-15 19:00:43

标签: java-ee jboss session-timeout

我想知道是否有一种方法可以在Java EE / GlassFish / Spring中以编程方式定义会话超时,而不是在web.xml中设置它。我知道您可以通过event.getSession().setMaxInactiveInterval(interval);为一个会话执行此操作,但我想为所有会话执行此操作,包括之前创建的会话。

1 个答案:

答案 0 :(得分:0)

要解决问题,首先需要列出当前有效的所有会话,然后使其无效。

Java EE不提供用于列出所有会话的现成API,但通过添加HttpSessionListener,您可以获得所有活动会话的列表。即将sessionCreated()上的会话添加到列表中,然后从列表中删除sessionDestroyed()上的会话。

一旦完成,那么,它只是通过列表迭代来更改会话属性的任务。