Тайм-аут сеанса в Java EE - PullRequest
       59

Тайм-аут сеанса в Java EE

4 голосов
/ 10 февраля 2011

Каким образом время ожидания сеанса может быть определено в Java EE? Я смотрю за пределы очевидных способов, таких как установка времени ожидания сеанса в web.xml или HttpSession.setMaxInactiveInterval ().

В настоящее время я рассматриваю приложение Java EE, но не могу найти ничего, связанного с определением времени ожидания сеанса. Веб-приложение в Weblogic. Я предполагаю, что, поскольку нет определения времени ожидания сеанса, сеанс никогда не истечет.

Ответы [ 2 ]

4 голосов
/ 10 февраля 2011

Поскольку вы ищете, как можно отключить время сеанса в Weblogic, я могу добавить

TimeoutSecs в weblogic.xml или проверьте любую точку в коде, где сеанс прерывается session.invalidate() при выходе из системы.

Кстати, оно не будет бесконечным.

В Weblogic по умолчанию в файле web.xml (если значение не указано) используется значение TimeoutSecs в файле weblogic.xml, которое по умолчанию равно 3600 с , т. Е. 60 минут

1 голос
/ 10 февраля 2011

Не относится к весне:

  • Управляйте cookie самостоятельно с помощью response.setHeader("Set-Cookie", cookiestring);.Это атрибут expires, который контролирует время ожидания сеанса.Это переопределяет любой сервлет-контейнер или web.xml по умолчанию, но в любом случае может быть переопределено HttpSession#setMaxInactiveInterval() в коде Java.

  • Настройка значения по умолчанию на уровне сервлет-контейнераНапример, в Tomcat по атрибуту maxInactiveInterval элемента <manager>.Это можно переопределить на <session-timeout> в web.xml и HttpSession#setMaxInactiveInterval() в коде Java в любом случае.


Обновление согласнообновление комментария и вопроса:

Если не указано иное, будет использоваться тайм-аут по умолчанию, управляемый сервлет-контейнером.Обычно это 30 минут (что верно для Tomcat и клонов).Таким образом, сессия истекает через 30 минут после последнего запроса, отправленного клиентом в сеансе.Кроме того, когда клиент закрывает и повторно открывает экземпляр браузера или удаляет файлы cookie, будет создан новый сеанс (срок старого сеанса истечет через 30 минут по умолчанию).

...