Каков тайм-аут сеанса по умолчанию для веб-сайта Java EE?
Вопрос
Если я не укажу следующее в своем web.xml файле:
<session-config>
<session-timeout>10</session-timeout>
</session-config>
Каков будет мой тайм-аут сеанса по умолчанию?(Я использую Tomcat 6.0)
Решение
Если вы используете Tomcat, это займет 30 минут.Вы можете прочитать об этом подробнее здесь.
Другие советы
Вы также можете установить это в коде для конкретного сеанса, используя HttpSession
setMaxInactiveInterval - Заданное значение API:
Указывает время в секундах между запросами клиента до того, как контейнер сервлета аннулирует этот сеанс.Отрицательное раз указывает на сеанс никогда не должен тайм-аут.
Я упоминаю об этом на случай, если вы видите тайм-ауты, которые не равны 30 минутам, но вы не указали другое значение (напримердругой разработчик проекта использовал этот API).
Еще один момент, на который следует обратить внимание, заключается в том, что этот тайм-аут может не сработать точно в ту секунду, когда истечет срок действия сеанса.Сервер Java EE может иметь поток опроса, который проверяет наличие истекших сеансов каждую минуту.У меня нет ссылки на это, но я видел подобное поведение в эпоху WebSphere 5.1.
Я уверен, что это зависит от вашего контейнера.Tomcat - это 30 минут.
Время ожидания сеанса мы можем указать для этого конкретного контекста в web.xml файле, как указано ниже. 60
Тайм-аут сеанса по умолчанию составляет 30 минут