2168575 发表于 2017-2-5 12:38:21

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

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

解决办法:
第一种:如果你不想看到该异常, 也不想保存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即可。
页: [1]
查看完整版本: Tomcat 问题: Cannot serialize session attribute XXX for ..的解决办法