Я бы хотел настроить Jetty для сохранения сеансов на диске, чтобы перезапуск Jetty не приводил к потере сеансов, но, читая документацию, я еще не получил ее работу.
Я использую Jetty с использованием Плагин Jetty Maven (org.mortbay.jetty:jetty-maven-plugin 7.4.3.v20110701
).
Включение сохраняемости для плагина Maven Jetty указывает настроитьHashSessionManager
в разделе конфигурации sessionHandler
плагина, но, похоже, пример для старого maven-jetty-plugin
, а не для нового jetty-maven-plugin
.
Я попытался исправить там имена классов следующим образом (мне также пришлось добавить зависимость к jar сервера Jetty, в противном случае я получил ClassNotFoundExceptions):
<webAppConfig implementation="org.mortbay.jetty.plugin.JettyWebAppContext">
<defaultsDescriptor>${project.build.outputDirectory}/META-INF/webdefault.xml</defaultsDescriptor>
<contextPath>${jetty.contextRoot}</contextPath>
<sessionHandler implementation="org.eclipse.jetty.server.session.SessionHandler">
<sessionManager implementation="org.eclipse.jetty.server.session.HashSessionManager">
<storeDirectory>${basedir}/target/jetty-sessions</storeDirectory>
</sessionManager>
</sessionHandler>
</webAppConfig>
Директория target / jetty-сеансовсоздается при запуске сервера, но там ничего не записывается и сессии, насколько я могу судить, не сохраняются.
Итак, что мне не хватает?