`

Tomcat 问题: Cannot serialize session attribute XXX for ..的解决办法

 
阅读更多
1.在关闭和重启Tomcat 5时, tomcat 会试图 serialize存在的session资源. 如果 sessions中相关的对象没有实现 serializable 接口, 就会出现Cannot serialize session attribute XXX  for  异常.

解决办法:
第一种:如果你不想看到该异常, 也不想保存session. 那么你可以在Tomcat/conf/Context.xml 的<Context> tags中间 加上 :
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">
        <Store className="org.apache.catalina.session.FileStore"/>
    </Manager>这样 tomcat 在关闭的时候就不会保存session资源了.


第二种:你也可以在server.xml中指定上面的值. 这也所有的程序都使用这个设置了.

第三种:
很多时候明明在服务器上关闭了TOMCAT,但是客户端的表示SESSION仍然在线,以下内容大概会对您有帮助
<Manager className="org.apache.catalina.session.PersistentManager"   
              debug="0"   

              saveOnRestart="false"   

              maxActiveSessions="-1"   

              minIdleSwap="-1"   

              maxIdleSwap="-1"   

              maxIdleBackup="-1">   

                <Store className="org.apache.catalina.session.FileStore"/>   

</Manager>
Manager块是要放到相应的Application的Context下.

第四种:
将那些需要放在session的类进行序列化。
也就是让类实现接口java.io.Serializable即可。







分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics