我们通过在Web应用程序中实现HTTPSessionListener类来实现会话超时。 Web应用程序部署在Websphere 8.5.5中的集群中,具有内存到内存复制(对等复制拓扑)。 超时工作正常。 最近我们已将websphere升级到8.5.5.12并且超时已停止工作,即; sessionDestroyed方法没有被调用。
以下是示例代码:
public class TestSessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("Session created");
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
System.out.println("Session Destroyed");
}}
Web.xml中
<session-config id="SessionConfig">
<session-timeout>1</session-timeout>
</session-config>
<listener>
<listener-class>com.test.app.TestSessionListener</listener-class>
</listener>
我们面临的问题是调用了sessionCreated方法但是没有调用sessionDestroyed。
部署在非集群环境中的相同应用程序在8.5.5.12中工作,并且在集群环境中也在8.5.5中工作。
任何必须在Websphere中完成的配置?