tomcat提供了关闭或unload服务器时,自动保存服务器会话状态的功能,work 目录下相应的路径下创建 SESSION.ser 文件存储该webapp的 session 数据。但是我却因为这个功能出现了麻烦,我的web应用中,测试如下:session中如果保存了对象,此时关闭tomcat服务,然后再启动tomcat服务,控制台信息抛出异常,说在恢复session对象时出错,异常信息竟然是不能找到datasource,并且这个异常出现在任何的webapp的载入之前,很是纳闷。分析可能是由于在tomcat恢复session时,原来session中的对象引用可能与数据库操作相关,此时datasource并没有被初始化,所以造成错误,于是查资料屏蔽了tomcat的这个功能,问题才解决了。
默认情况下,Tomcat5 下发布的web应用程序,如果涉及session的操作,在Tomcat5关闭或undeploy的时候,将会在 work 目录下相应的路径下创建 SESSION.ser 文件存储该webapp的 session 数据。在 session 超时时间内 Tomcat 重启或re-deploy,将会加载该文件中的数据,恢复用户原来的 session 运行环境。
配置方法见下:
来自http://blog.youkuaiyun.com/zhaozexin/archive/2005/02/18/293184.aspx
D:\jakarta-tomcat-5.5.8\conf\context.xml
修改这里也可以:
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!---->
<Manager pathname="" />
博客讲述了Tomcat提供关闭或unload时自动保存会话状态功能,在work目录创建SESSION.ser文件存储session数据。但作者测试时出现恢复session对象出错,原因可能是恢复时datasource未初始化。最后通过屏蔽该功能解决问题,并给出配置方法。

被折叠的 条评论
为什么被折叠?



