I have two servers on Weblogic cluster and deployed JSF based application on that cluster. I have created Cluster called Cluster01 which has Server01 and Server02 Servers. While accessing the application, my requests are going to Server01. So Server01 is having my Primary Session and Server02 have Session Replica. I am trying to test replication/failover by stopping primary Session server(i.e. Server01). After stopping when I click on any of the functionality on the JSF application gives View Expired Exception. I looked at the server logs which gives following error.
<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
I have Session Scoped Backing Bean. All the Domain objects are already serialized. Thanks in Advacne.
Environment: Weblogic Server 12c JSF2