【问题标题】:How to persist sessions with Jetty 7 and jetty-maven-plugin?如何保持与 Jetty 7 和 jetty-maven-plugin 的会话?
【发布时间】:2011-11-25 21:09:13
【问题描述】:

我想将 Jetty 配置为在磁盘上保留会话,以便重新启动 Jetty 不会丢失会话,但是通过阅读文档我还没有让它工作。

我正在使用 Jetty Maven plugin (org.mortbay.jetty:jetty-maven-plugin 7.4.3.v20110701) 运行 Jetty。

Enabling Persistence for the Maven Jetty Plugin 告诉在插件的sessionHandler 配置部分设置HashSessionManager,但该示例似乎是针对旧的maven-jetty-plugin,而不是新的jetty-maven-plugin

我尝试像这样修复那里的类名(我还必须向 jetty-server jar 添加依赖项,否则我会得到 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-sessions,但那里没有写入任何内容,并且据我所知,会话不会持续存在。

那么,我错过了什么?

【问题讨论】:

  • 我更新了 eclipse.org wiki 页面以匹配新的插件类。

标签: jetty maven-jetty-plugin


【解决方案1】:

文档列出了错误的类名。使用这个 sn-p:

<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 登录来在他们的 wiki 上修复它。也许你也可以抓住一个并在那里修复它以帮助其他人。

更新:我在配置中添加了idleSavePeriod。我一开始以为你只是从 Eclipse wiki 复制了错字。

【讨论】:

  • 嗯...这不正是我已经在问题中提出的吗?
  • 我在 pom 中做了一些看似不相关的更改,突然注意到会话保持不变。这是在我添加 idleSavePeriod 设置之前,但这肯定会在 storeDirectory 中显示得更快。我仍然不知道他们以前为什么不坚持,现在为什么坚持。可能与之前会话中并非所有内容都可序列化有关。
  • 我也遇到了一些问题。有时它存储会话,有时不存储。如果某些东西不可序列化,我会得到错误。但如果一切都是可序列化的,那么我的会话存储中不会出现任何内容。奇怪......也许它只是坏了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
  • 2011-02-28
  • 2014-04-23
  • 1970-01-01
相关资源
最近更新 更多