07-12
28

Cannot serialize session attribute--问题的解决

java.io.NotSerializableException.
在重启Tomcat 6时发现报此错误.

查阅后发现tomcat 5之后重启服务后tomcat会尝试恢复session.
下面是方法一(通过配置,使tomcat重启后不重新恢复session):

Tomcat 问题: Cannot serialize session attribute XXX for ..的解决办法
在关闭和重启Tomcat 5时, tomcat 会试图 serialize存在的session资源. 如果sessions中相关的对象没有实现 serializable 接口, 就会出现Cannot serialize session attribute XXX  for  异常.

如果你不想看到该异常, 也不想保存session. 那么你可以在项目部署描述文件中(如. test.xml,)(instead of just exploding the war)  的  <Context> tags中间 加上 :
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="false"/>
这样 tomcat 在关闭的时候就不会保存session资源了.
你也可以在server.xml中指定上面的值. 这也所有的程序都使用这个设置了.
试试看.

方法二:

既然报没有序列化的错误,那我们就把我们的对象序列化了就是了,实现起来也很简单,就是把要放入session的对象序列化即可
public class YourClassName implements java.io.Serializable{
}
其他内容都完全不需要变.呵呵

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: TOMCAT sessions
相关日志:
评论: 0 | 引用: 0 | 查看次数: 740
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭