【问题标题】:Session bean being reinstantiated in same session (in 2 Liferay portlets)在同一会话中重新实例化会话 bean(在 2 个 Liferay portlet 中)
【发布时间】:2012-02-07 00:12:51
【问题描述】:

我在 LR 6.1 GA1 的一个 Liferay 项目(单一战争)中有 2 个 JSF portlet(一个 ICEfaces,一个直接 JSF)。我的会话 bean 用 @ManagedBean 和 @SessionScoped 注释,我的 faces-config.xml 包含

    <managed-bean>
    <managed-bean-name>wtfBean</managed-bean-name>
    <managed-bean-class>com.test.beans.WtfBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

我已将每个 portlet 放在一个单独的网页上。我在 bean 的构造函数中打印到 System.out(我已经跟踪了整个过程),并且我的 bean 被实例化两次

我还应该做些什么来分享我的会话数据?

谢谢。

【问题讨论】:

  • 如果您已经在使用新的 JSF 2.x 注释,为什么还要在 faces-config.xml 中以旧的 JSF 1.x 方式注册 bean?请注意,在普通的 JSF 环境中(至少在 servlet 上),faces-config.xml 会覆盖任何注释。我不做portlet,但也许它的做法不同或表现不佳。尝试删除您注册 bean 的一种方式。

标签: jsf javabeans liferay


【解决方案1】:

您的配置很好。这是由portlet桥引起的。

【讨论】:

  • 你是说我搞砸了,还是有什么我能做的?
猜你喜欢
  • 1970-01-01
  • 2014-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多