JSF 应用程序的 Weblogic 复制问题



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

<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

我有会话范围的支持 Bean。所有域对象都已序列化。

环境:网络逻辑服务器 12cJSF2

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

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

相关内容

  • 没有找到相关文章

最新更新