Как сохранить сеансы с Jetty 7 и jetty-maven-plugin? - PullRequest
1 голос
/ 27 сентября 2011

Я бы хотел настроить 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-сеансовсоздается при запуске сервера, но там ничего не записывается и сессии, насколько я могу судить, не сохраняются.

Итак, что мне не хватает?

1 Ответ

1 голос
/ 01 февраля 2012

В документации указаны неправильные имена классов.Используйте этот фрагмент:

<sessionHandler implementation="org.eclipse.jetty.server.session.SessionHandler">
  <sessionManager implementation="org.eclipse.jetty.server.session.HashSessionManager">
    <storeDirectory>${basedir}/target/sessions</storeDirectory>
    <idleSavePeriod>1</idleSavePeriod>
  </sessionManager>
</sessionHandler>

У меня нет логина Eclipse, чтобы исправить это в своей вики.Может быть, вы можете взять один и исправить его там, чтобы помочь другим.

Обновление: я добавил idleSavePeriod в конфигурацию.Сначала я подумал, что вы просто скопировали опечатку из Eclipse wiki.

...