У меня есть два сервера в кластере Weblogic и развернутое приложение на основе JSF в этом кластере. Я создал кластер Cluster01 с серверами Server01 и Server02. При доступе к приложению мои запросы отправляются на Server01. Поэтому Server01 имеет мой основной сеанс, а Server02 - Session Replica. Я пытаюсь проверить репликацию/восстановление после отказа, остановив основной сервер сеанса (то есть Server01). После остановки, когда я нажимаю на любую из функций приложения JSF, вы видите View Expired Exception. Я просмотрел журналы сервера, которые дают следующую ошибку.Проблема репликации Weblogic с приложением 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
У меня есть Session Beoped. Все объекты домена уже сериализованы.
Окружающая среда: WebLogic Server 12c JSF2
попробуйте это http://stackoverflow.com/questions/12094077/jsf-session-fail-over-and-partial-state-saving – abdelhady