【问题标题】:Weblogic Replication Issue with JSF applicationJSF 应用程序的 Weblogic 复制问题
【发布时间】:2016-07-13 17:13:12
【问题描述】:

我在 Weblogic 集群上有两台服务器,并在该集群上部署了基于 JSF 的应用程序。我创建了名为 Cluster01 的集群,其中包含 Server01 和 Server02 服务器。在访问应用程序时,我的请求将发送到 Server01。所以 Server01 有我的主会话,而 Server02 有会话副本。我正在尝试通过停止主会话服务器(即 Server01)来测试复制/故障转移。当我单击 JSF 应用程序上的任何功能时停止后,会出现 View Expired Exception。我查看了出现以下错误的服务器日志。

<Jul 13, 2016 9:04:08 AM EDT> <Error> <HTTP Session> <BEA-100028> <The session data could not be deserialized.java.lang.ClassCastException: [B cannot be cast to weblogic.servlet.internal.AttributeWrapper
            at weblogic.servlet.internal.session.SessionData.getAttributeInternal(SessionData.java:449)
            at weblogic.servlet.internal.session.ReplicatedSessionData.getAttribute(ReplicatedSessionData.java:713)
            at org.jboss.weld.context.beanstore.http.AbstractSessionBeanStore.getAttribute(AbstractSessionBeanStore.java:95)
            at org.jboss.weld.context.beanstore.AttributeBeanStore.attach(AttributeBeanStore.java:110)
            at org.jboss.weld.context.AbstractBoundContext.activate(AbstractBoundContext.java:66)
            Truncated. see log file for complete stacktrace

我有 Session Scoped Backing Bean。所有域对象都已序列化。

环境: 网络逻辑服务器 12c JSF2

【问题讨论】:

标签: session weblogic replication weblogic12c


【解决方案1】:

WebLogic Server 不处理 jsf 的托管 bean 的复制。这是JSF的责任。 看看这个 JSF 参数来处理集群复制: com.sun.faces.enableAgressiveSessionDirtying

【讨论】:

    【解决方案2】:

    Oracle 已确认他们可以重现我们遇到的复制问题。现在就等他们修复它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-24
      • 2014-02-01
      • 1970-01-01
      • 2011-08-14
      • 1970-01-01
      相关资源
      最近更新 更多