2016-07-13 2 views
0

У меня есть два сервера в кластере 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

+0

попробуйте это http://stackoverflow.com/questions/12094077/jsf-session-fail-over-and-partial-state-saving – abdelhady

ответ

0

WebLogic Server не обрабатывает репликацию управляемых компонентов JSF,. Это ответственность JSF. Посмотрите на этом параметре JSF для обработки кластеризации репликации: com.sun.faces.enableAgressiveSessionDirtying

0

Oracle подтвердил, что они могут воспроизвести проблему репликации мы имеем. Просто жди их, чтобы исправить это сейчас.

Смежные вопросы