Я использую WebLogic 12c и должен реализовать функцию, которая убивает сеанс при закрытии браузера. У меня есть «пульс» от клиента, который совершает сетевой вызов каждые заданное количество секунд. Weblogic настроен на отсчет времени сеанса после 3 пропущенных сердечных сокращений. Это отлично работает по большей части.. Если вы не смотрите журналы.
Итак, я обнаружил кое-что интересное: WebLogic на самом деле не определяет время сеанса в указанное время. У меня есть прослушиватель сеанса, чтобы регистрировать, когда пользователь фактически выходит из системы, и обрабатывать некоторые другие функции выхода из системы. Я заметил, что эти сообщения журнала не появляются точно в это время ожидания. Вместо этого WebLogic, по-видимому, «случайно» решает, когда очищать мертвые сеансы. Хорошо то, что если клиент попытается повторно подключиться, используя те же учетные данные, WebLogic увидит, что время сеанса истекло, и активирует функцию выхода из системы. К сожалению, это действительно не сработает для меня. По крайней мере, мне нужно было бы иметь некоторое «Максимальное время», прежде чем WebLogic решит очистить мертвые сеансы.
Я чувствую, что эта проблема похожа на сборку мусора в Java. Это происходит, когда когда-либо кажется, что это происходит.
Итак, вкратце, мой вопрос: есть ли способ установить приоритет потока очистки сеанса в WebLogic или есть способ настроить WebLogic для запуска потока очистки сеанса каждые X секунд?