1。配置server.xml设置tomcat持久化session到硬盘
配置server.xml文件,加入session保存操作
[html] view plain copy print?
<Context path="/testdemo" docBase="D:\testdemo">
<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="D:\temp"/>
</Manager>
</Context>
2。
原理:
1、当tomcat–》stop server,tomcat会将内存中的session信息序列化到硬盘上
2、当tomcat再次重启时,若想session中的信息能够被序列化回来,也就是依然有效,那么session中保存的信息及其关联信息一定要实现序列化接口:Java.io.Serializable
这有这样,即使tomcat重新启动了,session依然能够有效。
注意:如果你直接点了下图中的停止,那么上面的效果将不会出现,因为该操作直接停止了服务,tomcat还未来得及序列化session,所以即使重启session也恢复不了