【发布时间】: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 页面以匹配新的插件类。