打印时会话映射为空

时间:2010-10-07 19:37:59

标签: session jsf

我正在使用JSP作为表示技术来使用JSF1.1。 我有一个带有ArrayList的托管bean,我将列表显示为行。 一切正常。我有两个服务器节点的会话复制,当我复制会话,并将其中一个群集关闭时,app现在位于第二个群集上,但会话属性丢失。

我尝试使用ExternalContext打印sessionMap以查看会话属性,但也是null。

可能是什么原因?

1 个答案:

答案 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!
    // ...
}