tomcat自动持久会话产生问题

博客讲述了Tomcat提供关闭或unload时自动保存会话状态功能,在work目录创建SESSION.ser文件存储session数据。但作者测试时出现恢复session对象出错,原因可能是恢复时datasource未初始化。最后通过屏蔽该功能解决问题,并给出配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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="" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值