JSF中的SerializableException

时间:2011-07-19 08:37:06

标签: java jsf

我正在处理JSF2.0。

我收到了此错误消息

  

2011年7月19日上午11:19:47 org.apache.catalina.session.StandardManager doLoad   SEVERE:加载持久会话时发生IOException:java.io.WriteAbortedException:write aborted; java.io.NotSerializableException:edu.umn.gis.mapscript.mapObj   java.io.WriteAbortedException:写入已中止; java.io.NotSerializableException:edu.umn.gis.mapscript.mapObj

我该怎么办?

问候

3 个答案:

答案 0 :(得分:1)

  

java.io.NotSerializableException:edu.umn.gis.mapscript.mapObj

它告诉我们类edu.umn.gis.mapscript.mapObj不可序列化。您需要确保implements Serializable。当您在Web服务器上运行JSF视图和会话范围bean时,这是必需的,该Web服务器在Web服务器上运行,后者又将会话保存到磁盘,以便在服务器重新启动或与群集中的其他服务器共享时继续运行。

所以,相应地修复它:

package edu.umn.gis.mapscript;

import java.io.Serializable;

public class mapObj implements Serializable { // <--- Here.

    // ...

}

对具体问题

无关Java Naming Conventions表示类名应以大写字母开头。我强烈建议也要修复它。将mapObj重命名为MapObj(或者最好是更自我记录的内容,“Obj”后缀毫无意义)。

答案 1 :(得分:0)

您在会话中存储的对象之一(或其中一个成员)未实现Serializable

答案 2 :(得分:0)

所有SessionBeans(及其成员)必须实现Serilizable分布在群集周围或存储到数据库中!