Jetty 8 установил "session-timeout" без web.xml?
Я пытаюсь установить значение session-timeout
во встроенный экземпляр Jetty 8.
С встроенным Jetty, как я могу программно установить значение session-timeout
, которое в противном случае было бы установлено в web.xml следующим образом:
<session-config>
<session-timeout>15</session-timeout>
</session-config>
Спасибо!
Ответы
Ответ 1
Получите доступ к обработке/управлению сессиями в вашем WebAppContext и установите его.
WebAppContext app = new WebAppContext(....);
...
app.getSessionHandler().getSessionManager().setMaxInactiveInterval(timeout);
Вот как это делает сама Джетти.
Примечание. SessionManager.setMaxInactiveInterval(int)
в секундах, а не в миллисекундах.
Ответ 2
2019-05-11
Для версии Jetty 9.4.12.v20180830 со следующей настройкой ServletContextHandler
это:
ServletContextHandler webappContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
...
webappContext.getSessionHandler().setMaxInactiveInterval(timeout_in_sec);
(Нет промежуточного вызова getSessionManager()
)