我正在使用JSP作为表示技术来使用JSF1.1。 我有一个带有ArrayList的托管bean,我将列表显示为行。 一切正常。我有两个服务器节点的会话复制,当我复制会话,并将其中一个群集关闭时,app现在位于第二个群集上,但会话属性丢失。
我尝试使用ExternalContext打印sessionMap以查看会话属性,但也是null。
可能是什么原因?
答案 0 :(得分:2)
属性可能不是Serializable
。这是要求它们在磁盘上持久存储和/或通过网络传输为字节的要求。
要解决此问题,请确保所有会话属性(包括会话范围的托管bean)都实现Serializable
,如下所示:
public class SomeSessionClass implements Serializable {
// ...
}
在适用的情况下,不要忘记任何成员Serializable
。 E.g。
public class SomeSessionClass implements Serializable {
private SomeNestedClass foo; // Has to implement Serializable as well!
// ...
}