我正在使用JSF1.1和JSP作为演示技术。 我有一个ArrayList的托管bean,我以列的形式显示列表。 一切工作正常。我有两个服务器节点的会话复制,当我复制会话并放下一个集群时,应用程序现在位于第二个集群上,但会话属性丢失。打印时会话映射为空
我试图使用ExternalContext打印sessionMap来查看会话属性,但也是null。
什么可能是一个可能的原因?
我正在使用JSF1.1和JSP作为演示技术。 我有一个ArrayList的托管bean,我以列的形式显示列表。 一切工作正常。我有两个服务器节点的会话复制,当我复制会话并放下一个集群时,应用程序现在位于第二个集群上,但会话属性丢失。打印时会话映射为空
我试图使用ExternalContext打印sessionMap来查看会话属性,但也是null。
什么可能是一个可能的原因?
该属性可能不是Serializable
。这是让它们坚持在磁盘上和/或通过网络传输字节的要求。
为了解决这个问题,只是确保所有会话属性(包括会话范围的受管Bean)实现Serializable
这样的:
public class SomeSessionClass implements Serializable {
// ...
}
不要忘了做任何成员Serializable
以及每当适用。例如。
public class SomeSessionClass implements Serializable {
private SomeNestedClass foo; // Has to implement Serializable as well!
// ...
}
我创建了一个类来实现serializable并声明一个变量int,我只是想将其看作一个计数器。每当我切换节点时,我都会失去我的属性值。请帮助我。 – asifaftab87 2016-01-18 19:43:58
mali如果可能的话请给我发送代码,请你如何设置并获取ExternalContext和sessionMap。 – asifaftab87 2016-01-18 19:40:52