Тайм-аут сеанса JBoss

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

Я использую JBoss 5.1, и я изменяю session-config свой веб-дескриптор (web.xml), так что сеанс заканчивается через минуту (только для тестирования)

<session-config>
  <session-timeout>1</session-timeout>
</session-config>

Но после создания сеанса при входе в систему он никогда не истекает. Никакая настройка, которую я ему даю, вызывает тайм-аут.

В среде tomcat у меня не было этой проблемы. У кого-то была аналогичная проблема с JBoss?

Ответы

Ответ 1

JBoss 5 позволяет определить тайм-аут сеанса для всех приложений по адресу:

deployers/jbossweb.deployer/web.xml

Возможно, это переопределение ваших настроек в web.xml. Это не должно, но, знаете...

Проверьте, работает ли изменение. Если нет, вы можете настроить таймаут программно для своего теста:

HttpSession.setMaxInactiveInterval(int seconds)

Таким образом вы можете заставить таймаут в определенном сеансе.

Ответ 2

К сожалению, в JBoss EAP 6.1.0.Alpha1 (AS 7.2.0.Alpha1-redhat-4) мы вернулись к необходимости устанавливать его для каждого веб-приложения в web.xml: См. Документы JBoss.

Скажем, используйте это:

<session-config>
    <session-timeout>30</session-timeout>
</session-config>