Tomcat 会话持久化配置
在 Java Web 应用中,会有一些应用重启的操作,怎么在重启后中,如何保证 Session 也能被恢复呢,这就可以通过 Tomcat 的会话持久化配置实现。
Tomcat 默认支持会话持久化,在服务重启时将当前在线会话信息持久化本地磁盘。其配置文件为 context.xml
<!-- apache-tomcat-9.0.21 -->
<Context>
<!-- Default set of monitored resources. If one of these changes, the web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!-- 如果不需要 Tomcat 的默认会话持久化功能,解开该注释
<Manager pathname="" />
-->
<!-- Tomcat 8,7 存在以下内容 -->
<!-- Uncomment this to enable Comet connection tacking (provides events
on session expiration as well as webapp lifecycle) -->
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
</Context>
我们也可以定义配置 Manager 信息,指定持久化文件的目录:
<Manager className="org.apache.catalina.session.PersistentManager"
debug=0
saveOnRestart="true"
maxActiveSession="-1"
minIdleSwap="-1"
maxIdleSwap="-1"
maxIdleBackup="-1">
<Store className="org.apache.catalina.session.FileStore" directory="指定目录" />
<!-- 存储到数据库,使用 org.apache.catalina.session.JDBCStore -->
</Manager>
为了成功恢复会话属性的状态,所有这些属性必须实现 java.io.Serializable 接口。可以通过在(/WEB-INF/web.xml)中包含 <distributable/>
元素,使 Manager 强制实施此限制。
详细文档:http://tomcat.apache.org/tomcat-9.0-doc/config/manager.html
https://blog.csdn.net/wojiushiwo945you/article/details/78712136
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com
文章标题:Tomcat 会话持久化配置
文章字数:405
本文作者:Bin
发布时间:2019-06-12, 14:51:25
最后更新:2019-08-06, 00:57:36
原始链接:http://coolview.github.io/2019/06/12/Java/Tomcat%20%E4%BC%9A%E8%AF%9D%E6%8C%81%E4%B9%85%E5%8C%96%E9%85%8D%E7%BD%AE/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。