Как сделать время ожидания сеанса WebLogic более согласованным - PullRequest
0 голосов
/ 29 октября 2019

Я использую WebLogic 12c и должен реализовать функцию, которая убивает сеанс при закрытии браузера. У меня «сердцебиение» от клиента, которое делает сетевой вызов каждые заданное количество секунд. Weblogic настроен на отсчет времени сеанса после 3 пропущенных ударов сердца. Это прекрасно работает по большей части .. Если вы не смотрите журналы.

Итак, кое-что интересное, что я обнаружил, заключается в том, что WebLogic на самом деле не рассчитывает время сеанса в указанное время ожидания. У меня есть слушатель сеанса для входа, когда пользователь фактически вышел из системы, и для обработки некоторых других функций выхода из системы. То, что я заметил, - те сообщения журнала, которые не происходят точно в то время ожидания. Вместо этого WebLogic, по-видимому, «случайным образом» решает, когда следует удалять мертвые сессии. Хорошо, что если клиент попытается повторно подключиться с использованием тех же учетных данных, WebLogic увидит, что время сеанса истекло, и активирует функцию выхода из системы. К сожалению, это действительно не сработает для меня. По крайней мере, мне понадобится некоторое «Максимальное время», прежде чем WebLogic решит удалить мертвые сессии.

Мне кажется, что эта проблема похожа на сборку мусора в Java. Такое случается, когда хочется.

Итак, вкратце, мой вопрос таков: есть ли способ либо назначить приоритеты потоку очистки сеанса в WebLogic, либо есть способ настроить WebLogic на запуск потока очистки сеанса каждые X секунд?

1 Ответ

2 голосов
/ 29 октября 2019

WebLogic использует второй параметр с именем «invalidation-interval-secs» для настройки, когда объект сеанса http действительно очищен. Документация гласит:

Устанавливает время в секундах, в течение которого WebLogic Server ожидает между выполнением проверок очистки дома для тайм-аута и недействительных сеансов, удалением старых сеансов и освобождением памяти. Используйте этот элемент для настройки WebLogic Server для лучшей производительности на сайтах с высоким трафиком. Значение по умолчанию составляет 60 секунд.

https://docs.oracle.com/cd/E11035_01/wls100/webapp/weblogic_xml.html

...