2016-11-29 3 views
0

У меня есть приложение Java EE, работающее на кластере WebSphere. Тайм-аут сеанса составляет 30 минут, а время ожидания LTPA - 120 минут. Пользователю, у которого их сеанс недействителен, должно быть показано уведомление о следующем действии после таймаута. Тайм-аут обрабатывается обработчиком исключений JSF, и на одном сервере это отлично работает. Однако в кластере это работает только в том случае, если первый запрос после таймаута сеанса снова отправляется одному члену кластера (репликация сеанса отсутствует). Насколько я понимаю, cookie сеанса удаляется после таймаута сеанса, но этот файл cookie также содержит токен близости к сеансу, поэтому балансировщик нагрузки может выбирать любой сервер в кластере. Но только первоначальный член знает о первом сеансе и создает исключение сеанса таймаута.Тайм-аут сеанса в кластере WebSphere

Есть ли способ получить это предупреждение для всех членов кластера (без включения сеансовой репликации)?

С наилучшими пожеланиями, Кристиан

ответ

1

Нет, если у вас есть кластер виртуальных машин и не имеет репликации сеанса не существует никакого способа для других JVMs знать состояние этой сессии. Репликация сеанса используется специально для хранения состояния сеанса. Нет другого механизма, чтобы другие члены кластера могли узнать состояние сеанса из исходной JVM, в которой находился пользователь.

Смежные вопросы