Я установил максимальный неактивный интервал для сеанса Vaadin следующим образом.
VaadinSession.getCurrent().getSession().setMaxInactiveInterval(60);
Добавлен сеанс уничтожить прослушиватель следующим образом для тестирования.
servletService.addSessionDestroyListener(new SessionDestroyListener() {
public void sessionDestroy(SessionDestroyEvent event) {
System.out.println("SESSION TIMEOUT");
}
});
Этот прослушиватель вызывается в нужное время на стороне сервера. Однако я не вижу сообщение "Session Expired" на стороне браузера одновременно. Обычно он отображается между 4 и 5 минутами. Есть ли способ получить оба из них в одно и то же время согласованным образом.
Также обратите внимание, что мы не используем push, и на данный момент это не вариант для нас.
Выполнение опроса на стороне клиента будет reset последним активным временем сеансов и может поддерживать сеанс активным навсегда, если интервал опроса меньше maxInactiveInterval.