会话失效不会在正确的时间发生

时间:2012-09-11 06:22:00

标签: jboss jsf-1.2

使用Jboss AS 5.1.0 GA。我正在运行JSF 1.2 servlet

我有一个自定义会话监听器,它扩展了PortalSessionListener(正在运行Liferay 6.0

在我web.xml的{​​{1}}中,我已将Jboss AS配置为3分钟。当我点击session-timeout不执行任何事情3分钟后,我的自定义会话侦听器被调用并调用JSF servlet

如果我在我的servlet上执行一些活动,那么在第3分钟之前,sessionDestroyed(HttpSessionEvent httpSessionEvent)会被扩展。然后我什么都不做。这次,如果我观看日志,我的自定义会话监听器将在第2分钟而不是第3分钟进行呼叫,并通过呼叫session使会话无效。

我的第一个问题是为什么会话无效在上述情况中没有发生?

另外,我在sessionDestroyed(HttpSessionEvent httpSessionEvent)的{​​{1}}中配置了session-timeout。我使用web.xml方法检查会话是否有效here。在上面的场景中 当Servlet在第2分钟左右失效时,这次会话失效日志打印后,如果我点击我的Servlet上的任何页面,它仍然发现httpServletRequest.isRequestedSessionIdValid()尚未失效。 但是,它发现session仅在第3分钟之后才失效。

我的第二个问题是为什么在Jboss AS web.xml中配置的会话超时与在Servlet的web.xml中配置的会话超时之间存在差异?

此致

维卡斯

0 个答案:

没有答案