Tomcat:IOException while loading persisted sessions: java.io.EOFException解决方案
工作一天了,临近周末的尾声Tomcat突然出现个异常,具体信息如下:
上网查查,也算是找到了解决的办法,想到自己因为工作也许久没有写博客了,今天刚好有闲时间。加之自己刚
入职不久,因此想把自己在工作上出现的问题以及该问题的解决方案做一个总结,方便自己以后遇到类似问题后进行查阅。
好了,言规正传,上述问题为什么会产生了。
产生原因
看上图的报错信息EOFException表示在启动启动过程中意外到达文件尾或IO流尾,从而导致了Session数据获取失败。
究其原因在于高版本的Tomcat会把Session序列化到硬盘,下次启动的时候回去读取这些数据。Tomcat上传非正常关闭
时有一些活动的session被持久化为了临时文件,当重启的时候Tomcat试图去恢复这些session的持久化数据导致出现异常。
但是这个异常却不影响系统的正常使用。
解决方案
解决办法就是删除序列化到硬盘中的文件,该文件位于Tomcat的work\Catalina\localhost\webApp目录中,文件名
为:SESSIONS.ser
笔者使用的Eclipse进行开发,这时就要去工作空间删除SESSION.ser文件,具体的路径如下:
F:\MYCTP\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\LCoreManager
其中MYCTP是我的工作空间。