Каков тайм-аут сеанса по умолчанию для веб-сайта Java EE?

Если я не укажу в файле web.xml следующее:

<session-config>
    <session-timeout>10</session-timeout>
</session-config>

Каким будет мой тайм-аут сеанса по умолчанию? (Я запускаю Tomcat 6.0)

Ответ 1

Если вы используете Tomcat, это 30 минут. Вы можете прочитать об этом здесь.

Ответ 2

Вы также можете установить это в коде для определенного сеанса, используя HttpSession setMaxInactiveInterval API:

Задает время, в секундах, между клиентскими запросами до контейнер сервлета аннулирует это сессия. Отрицательное время указывает на сессия никогда не должна истекать.

Я упоминаю об этом, если вы видите таймауты, которые не являются 30 минутами, но вы не указали другое значение (например, другой разработчик в проекте использовал этот API).

Еще один пункт, который следует учитывать, заключается в том, что этот тайм-аут может не срабатывать в то время, когда сеанс имеет право истечения срока действия. На сервере Java EE может быть поток опроса, который проверяет истекшие сеансы каждую минуту. У меня нет ссылки на это, но я видел это поведение в эпоху WebSphere 5.1.

Ответ 3

Я уверен, что это зависит от вашего контейнера. Tomcat - 30 минут.

Ответ 4

Тайм-аут сеанса, который мы можем указать для этого конкретного контекста в файле web.xml, как описано ниже,     60  

Время сеанса по умолчанию: 30 минут