rocyoyo

导航

Tomcat异常 严重: Exception loading sessions from persistent storage

严重: Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: ...

J2ee的session并没有要求session attribute必须要Serializable呀。原来这是tomcat 5的新功能,服务复位后自动恢复session。

如果要禁用这一特性,到apache-tomcat/conf/Catalina/localhost目录下找到webapp同名的xml,修改成:
引用
<Context path="..." reloadable="..." docBase="..." workDir="...">
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
</Context>

对于使用Netbeans自带tomcat的情况,配置文件在用户Home目录下的.netbeans底下,例如我windows机器上是:
C:\Documents and Settings\pinxue\.netbeans\5.5beta\apache-tomcat-5.5.16_base\conf\Catalina\localhost\

如果想保留这个功能,但是清除异常的session持久记录,删除相应的SESSION.ser即可,该文件在:
.netbeans\5.5beta\apache-tomcat-5.5.16_base\work\Catalina\localhost\{webAppName}\SESSIONS.ser

补充:
Netbeans 重新发布 webapp 后,对应的context会重新生成,应该修改项目下META-INF/context.xml。
Netbeans生成该文件的模板是:
\Program Files\netbeans-5.5beta\enterprise3\apache-tomcat-5.5.16\conf\context.xml

posted on 2010-01-18 12:25  rocyoyo  阅读(311)  评论(0编辑  收藏  举报