2
在Apache Tomcat服务器上的群集环境中部署JSF2.0。如何在群集环境中复制视图范围的bean?JSF2.0 @Viewscoped bean不在群集环境中复制
大部分bean都在viewscoped中,状态保存方法是客户端。
问题是:当我打开Home.xhtml的第一个请求去节点1.视图范围的bean被创建。点击操作按钮进行处理并加载相同的视图,现在请求转到节点2 - 视图不存在的地方.JSF创建新的viewscoped bean,这是我在node1中丢失之前状态的地方。
另一方面JSF视图状态可能无法在群集环境中正常工作。如何在集群环境中使用JSF2?
除会话复制和粘滞会话外,是否还有其他解决方案?
会话复制或粘性会话就是答案。不这样做有许多其他的副作用,而不是破碎的视图范围。不知道为什么你不想使用你显然已经知道的正确解决方案。 – BalusC
BaluC,谢谢你的回复。由于架构限制无法使用会话复制或粘滞会话。有没有解决这个问题的方法? –
如果集群体系结构不是为有状态的web应用程序设计的,那么你最好重新设计你的web应用程序作为一个无状态的应用程序(例如,坚持要求有范围的bean并通过请求参数手动携带状态)。 – BalusC