Мы установили время ожидания сеанса, реализовав класс HTTPSessionListener в нашем веб-приложении. Веб-приложение было развернуто в Websphere 8.5.5 в кластере с репликацией из памяти в память (топология одноранговой репликации).
Тайм-аут работал нормально.
Недавно мы обновили веб-сферу до 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?