【发布时间】:2014-12-17 16:58:51
【问题描述】:
基础设施
- JSF 2.1.17 (Mojarra)
- Hazelcast 3.3
- JBoss EAP 6.3
上下文
-
Session scopedbean 名为Login,其中包含一个字段email。 - 在没有
Hazelcast的情况下部署时,bean 仅被实例化一次并保持其值。 - 在将 Hazelcast 添加到应用程序时,我们注意到
Loginbean 在每个执行阶段都被反序列化(内存地址更改,设置的电子邮件不会保留)。
我们如何注意到
登录页面在实际设置时抛出“字段为空”消息。然后我们对此进行了更多调试,发现 bean 在每个阶段都被重新实例化(使用 PhaseListener)。
请注意,如果我们将 bean 范围更改为 request 或 view,这些字段将被识别,但在实际上下文中它不是一个选项。
Hazelcast 是否覆盖了 JSF 处理会话范围 bean 的方式?如果不是,为什么会这样?
编辑: bean 确实实现了Serializable
【问题讨论】:
标签: jsf-2 hazelcast session-scope