2017-06-04 9 views
0

私は、単一のサーバー環境からWebSphereクラスタ環境にいくつかのWebアプリケーションを移動しようとしています。コードの変更が必要かどうかを調べたいと思っています。 WebアプリケーションはJSFフレームワークを使用し、@SessionScopeでアノテーションされたマネージドBeanを使用します。クラスタ環境のJSFセッションスコープ管理対象Bean

私はJSFの知識はほとんど持っていませんが、私が読んだ内容に基づいて、マネージドBeanをクラスター化されたシリアライズ/デシリアライズが可能であれば、マネージドBeanの同期処理をWebSphereクラスタが処理することに注意してください。上記は本当ですか?

答えて

0

はい、それらはHTTPSessionにシリアル化され、HTTPSession自体がクラスタ全体に複製されます。フェールオーバーが発生した場合にそれらを回復することができます。

従来のWebSphereでは、これは「メモリー間のセッション・レプリケーション」(ピアツーピア・アーキテクチャー)または共有データベースを使用したものです。リバティー・プロファイルでは、セッション・レプリケーションにWebSphere Extreme Scale(WXS)を使用する必要があります。

セッションレプリケーションの設定では、フェイルオーバー時にセッションの対処されたBeanの最新状態が判断されます。

+0

したがって、セッションスコープ内のマネージドBeanはシリアル化可能なインターフェイスを実装する必要がありますか? – user2125853

+0

私はそれが事実だと信じています。この仕様では1000%のクリアが得られず、1.0日であいまいさが再現されています(小文字のシリアライズ可能なvsはシリアライズ可能なインターフェイスを実装しています)。 @sessionscopedはパッシベーション可能な(シリアライズ可能な)Beanを必要とするため、デプロイ時にこれを検出する必要があります。 – covener

関連する問題