您的位置:首页 > 运维架构 > Tomcat

Tomcat启动报EOFException异常

2013-03-12 17:13 281 查看
最近用eclipse启动tomcat时老报EOFException异常,虽然不影响使用,但总感觉别扭,就想办法解决了一下。

后分析了一下,原来是tomcat没正常关闭,俺基本每次都是通过任务管理器杀死线程的,主要是项目中一些资源没释放,正常情况下tomcat是不会关闭的,所以只有杀进程了。

由于tomcat没正常关闭,所以它在关闭时做的处理工具,比如session持久化,就有可能没做完。此处异常就是这个问题。

【原因分析】

EOFException表示输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败。异常是tomcat本身的问题,由于tomcat上次非正常关闭时有一些活动session 被持久化(表现为一些临时文件),在重启时,tomcat尝试去恢复这些session的持久化数据但又读取失败造成的。此异常不影响系统的使用。 因为保存在硬盘上的session数 据读取失败,问题似乎不大,但是如果不处理一下,每次启动都会出现这个问题。

【解决办法】

将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser亦可。

如果正常关闭服务端,该文件是自动删除的。

work\Catalina\localhost\yourProjectName\SESSIONS.ser删除。如果正常关闭服务端,该文件是自动删除的。

注:yourProjectName 是你当前正在工作的Web项目名称。

考虑到每个人的tomat的工作目录不同,建议在“搜索”功能中找到你的SESSIONS.ser文件,而且只需要删除..\yourProjectName\下的SESSIONS.ser即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐