PartitionHandlerLocal インターフェースは、アプリケーションが区画化機能ランタイムから特定の区画ライフ・サイクル・イベントを 受信できるようにする、コールバック・メソッドを定義します。 このインターフェースには、次の 4 つのメソッドがあります。
PartitionDefinition[] getPartitions()
public PartitionDefinition[] getPartitions() { PartitionDefinition[] rc = new PartitionDefinition[10]; for(int i = 0; i < rc.length; ++i) { rc[i] = ivRuntime.createPartitionDefinition("" + i); } return rc;このメソッドは、ランタイムに 10 個の区画を返します。これらの区画には、{0,1,2,3,4,5,6,7,8,9} という名前が付与されます。 すべて、デフォルトの分類を使用して作成されます。
boolean partitionLoadEvent(String partitionName)
以下の文は、z/OS では適用されません。
クラスター・メンバー側で指定の区画に対する作業を受け入れる準備が整っていれば、 このメソッドは真を返します。
メソッドから制御が戻ると、IIOP 経路指定テーブルが更新され、受信した IIOP 要求が 指定の区画のこのクラスター・メンバーに送付されます。
メソッドから偽が返された場合は、HA マネージャーにより、 そのクラスター・メンバーではこの区画が使用不可になり、現在のポリシーに基づいて 別のクラスター・メンバー上の区画の活動化が試されます。 この使用不可化はメソッドに渡された区画にのみ適用され、 このクラスター・メンバー上の他の区画は引き続き活動状態になることができます。 アプリケーションが偽を返す場合には、的確なトレースを使用可能にして、 偽が返された問題を管理者が診断できるようにする必要があります。 問題が一時的なものと判明したら、管理者は JMX を使用して、そのクラスター・メンバーで その指定の区画を再び使用可能にできます。
アプリケーションが (直接の IIOP 経路指定ではなく) メッセージングを使用して区画への要求を 受け取る場合、このアプリケーションでは、要求が到着するトピック/キューに対して サブスクライブする必要があります。
void partitionUnloadEvent(String partitionName)
アプリケーションが (直接の IIOP 経路指定ではなく) メッセージングを使用して着信要求を 受け取る場合、このアプリケーションでは、これらの要求が到着するトピック/キューに対して アンサブスクライブする必要があります。 このメソッドから制御が戻るまで、HA マネージャーによって代わりのクラスター・メンバーが活動状態にされることはありません。
isPartitionAlive メソッドが呼び出されるのは、対象の区画に対して有効な コア・グループ・ポリシー内でその区画を制御するポリシーの isAlive 属性が真に設定されている場合のみです (wpfadmin ポリシーの概要とポリシー・コマンドの例を参照)。
デフォルトの区画化機能の区画ポリシーでは、 このコールバックは使用不可になっています。一般的な区画の場合、このコールバックにより、 クラスター全体のパフォーマンスが影響を受けるからです。管理の厳しい環境では、この属性を積極的に管理した方がよい場合があります。
boolean isPartitionAlive(String partitionName)
このメソッドから偽が返された場合、JVM は「混乱状態」になり (停止します)、区画の ホストとして別のクラスター・メンバーが選択されます。 アプリケーションでこのメソッドを使用すると、区画が正常に動作しているかどうかを 確認できます。このためには、通常、リモート JVM から ping タイプの操作または サニティー・チェックを実行する区画メソッドを呼び出すように、 ピア・クラスター・メンバーに指示します。
Related concepts
区画化機能フレームワーク・プログラミング・モデル