java.io.NotSerializableException錯誤解決方法


運行tomcat下面的 ssh項目,啟動,打開某頁面(讓session起作用),停止;再啟動,有可能會報類似如下的錯誤:
org.apache.catalina.session.StandardManager doLoad
嚴重: IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxxx
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxxx

org.apache.catalina.session.StandardManager start
嚴重: Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxx

原因是:tomcat停止時,保存session資源,然后在重啟服務后,會嘗試恢復session。

解決辦法一:
配置tomcat在關閉的時候就不去保存session資源。

在server.xml中Context下添加如下的內容:
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>

再進行啟動停止等操作,報如下的類似錯誤:
org.apache.catalina.session.PersistentManagerBase start
嚴重: No Store configured, persistence disabled

原因是添加的東東少添加了一點點兒。
解決辦法:
修改剛才添加的 <Context>中<Manager> 元素:

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
改為:
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">
<Store className="org.apache.catalina.session.FileStore"/>http://www.jinyuanbao.cn
</Manager>
即可解決該問題。

解決辦法二:
將那些需要放在session的類進行序列化。
也就是讓類實現接口java.io.Serializable即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM