how2j.cn


工具版本兼容问题
Tomcat启动的时候会报一个Exception loading sessions from persistent storage异常,但是又不影响正常的业务。



Tomcat启动的时候会报一个Exception loading sessions from persistent storage异常

该问题的原因是tomcat的session持久化机制引起的,tomcat这个功能本身的用意在于重启tomcat后保存之前的session,Tomcat会把session持久化在%TOMCAT%/work/Catalina/localhost/session.ser 这个文件里。 但是因为tomcat非正常关闭,所以这个文件没有正确地结束(无EOF标记)

解决办法治标: 只需要删除 session.ser文件即可。

解决办法治本:关闭tomcat的持久化功能,就能一劳永逸的解决这个问题。具体为修改conf下的server.xml文件。在项目的context间加入一句代码

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>

重启tomcat以后再也不会报这个错误了。
<Context path="/" docBase="D:\\project\\j2ee\\web" debug="0" reloadable="false" > <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/> </Context>
	<Context path="/" docBase="D:\\project\\j2ee\\web" debug="0" reloadable="false" >
	    <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
	</Context>


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 J2EE-Tomcat-持久化异常 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 982790551
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图