2016-07-13 9 views
0

Weblogicクラスタに2つのサーバーがあり、そのクラスターにJSFベースのアプリケーションがデプロイされています。私はServer01とServer02のサーバーを持つCluster01というクラスターを作成しました。アプリケーションにアクセスしている間、私の要求はServer01に行きます。したがって、Server01には私のプライマリセッションがあり、Server02にはセッションレプリカがあります。プライマリセッションサーバー(Server01など)を停止してレプリケーション/フェイルオーバーをテストしようとしています。 JSFアプリケーションのいずれかの機能をクリックして停止した後、View Expired Exceptionが表示されます。私は次のエラーを与えるサーバーのログを見ました。JSFアプリケーションでのWeblogicレプリケーションの問題

<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を持っています。すべてのDomainオブジェクトはすでにシリアル化されています。

環境: のWebLogic Server 12cの JSF2

+0

試すhttp://stackoverflow.com/questions/12094077/jsf-session-fail-over-and-partial-state-saving – abdelhady

答えて

0

WebLogic Serverは、JSFの管理対象Beanの複製を処理しません。これはJSFの責任です。 com.sun.faces.enableAgressiveSessionDirtying Oracleは、彼らは我々が持っているレプリケーションの問題を再現できることを確認してい

0

: は、クラスタリング、レプリケーションを処理するために、このJSFパラメータを見てください。今すぐ修正するのを待つだけです。

関連する問題