区画化ステートレス・セッション Bean (PSSB) は、PartitionHandlerLocal インターフェースを
インプリメントし、かつ PartitionManager を使用して区画化機能 (WPF) フレームワークから区画を作成するステートレス・セッション Bean です。したがって、実行時の特性は通常のステートレス・セッション Bean と同じです。
PSSB に見られる特徴は次のとおりです。
- エンタープライズ Bean コンテナーでアプリケーションが開始されると Bean が分析され、この Bean が PSSB である場合、PartitionHandlerLocal インターフェースのメソッドが
呼び出されます。インターフェースのインプリメンテーション・メソッドは PartitionManager API を使用でき、HA マネージャーのコーディネーターに要求を実行依頼し、現在のポリシーに基づいて区画を作成し活動化します。
- クライアントから PSSB のサーバー・インプリメンテーションに対してのメソッドの
活動化中に、クライアントの各メソッド呼び出しはインターセプトされ
て処理されます。そして、そのメソッドがサーバー・インフラストラクチャーの
どの区画に対して駆動されるのかが決定されます。
例として、TestBean という名前の PSSB について考えてみます。この PSSB には、ping(String partition) というリモート・
インターフェース・メソッドがあります。クライアント
で TestBean.ping(partition) メソッドが実行されると
、TestBean_PartitionKey.ping(partition) (プログラマーが作成
するクラス) によって、すべてのメソッド属性が処理され、その結果単一の
ストリングが返されます。このストリングは、メソッドの実行対象の
区画エンドポイントを WLM サブシステムに伝えるものです。
- PSSB にはその状態変更 (区画インスタンスで通常のアクティビティー中に発生する場合があります) を処理するメソッドがいくつか含まれています。
例えば、PartitionLoadEvent(String) と PartitionUnLoadEvent(String)
というメソッドは、管理者が JMX または wpfadmin コマンドを使用して区画エンドポイントをサーバー間で
移動すると実行されます。例として、区画 P001 がアプリケーション・サーバー appsvr1 に関連付けられている場合を
考えてみます。このとき、ユーザーが wpfadmin コマンドを実行して
P001 区画をクラスター内の appsvr1 から appsvrN に移動すると
、bean コールバック・メソッドが呼び出されます。
appsvr1 の PSSB には HA マネージャーから非活動化コールバックが渡され、次に区画化機能ランタイムによって PartitionUnLoadEvent(String) メソッドが呼び出されます。
このメソッドの完了に成功すると、appsvrN の HA マネージャーは、コールバック・メソッドに関連する活動化を行い、
区画化機能ランタイムは PartitionLoadEvent(String) を PSSB で実行します。
要するに、PSSB は、区画化機能フレームワークからメソッドをインプリメントして呼び出す
一般的なセッション Bean です。
これらのメソッドは、既存の EJB コールバック・メソッドの処理に多くの点で似ていますが、通常の EJB コールバック・メソッドではなく区画化に関連する機能を持ちます。