WebSphere Extended Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows, z/OS

PartitionHandlerLocal

PartitionHandlerLocal インターフェースは、アプリケーションが区画化機能ランタイムから特定の区画ライフ・サイクル・イベントを 受信できるようにする、コールバック・メソッドを定義します。 このインターフェースには、次の 4 つのメソッドがあります。

PartitionHandlerLocal#getPartitions

getPartitions メソッドは、クラスター・メンバー内でアプリケーションが開始されると、 呼び出されます。 アプリケーションが開始されるたびに、 各クラスター・メンバー上で 1 回ずつこのメソッドが呼び出されます。 メソッド・シグニチャーは次のとおりです。

PartitionDefinition[] getPartitions()

このメソッドは、PartitionDefinition オブジェクトの配列を返します。 アプリケーションがそのクラスター・メンバー上で ホストとなり得るどの区画にも、PartitionDefinition が 1 つだけ存在している必要があります。 クラスター・メンバーが区画の候補となり得るのは、その区画が getPartitions から 返されたときのみです。
NoteColonSymbol アプリケーションでは、どのクラスター・メンバー上でも、 常に同じ区画セットを返すことをお勧めします。
高可用性 (HA) マネージャー・ポリシーを使用すると、区画の活動化を特定のクラスター・メンバーに制限できるほか、区画を特定のクラスター・メンバーに「固定する」こともできます。 サンプルの 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} という名前が付与されます。 すべて、デフォルトの分類を使用して作成されます。

PartitionHandlerLocal#partitionLoadEvent

区画がクラスター・メンバー上で 活動状態になると、HA マネージャーによって partitionLoadEvent が呼び出されます。 これにより、アプリケーションには、指定の区画に対する IIOP 要求を受け取る前に、 必要な初期化を実行する機会が与えられます (区画名はストリング・パラメーターとして 渡されます)。 partionLoadEvent のメソッド・シグニチャーは次のとおりです。

boolean partitionLoadEvent(String partitionName)

[zos platforms] 以下の文は、z/OS では適用されません。

クラスター・メンバー側で指定の区画に対する作業を受け入れる準備が整っていれば、 このメソッドは真を返します。

メソッドから制御が戻ると、IIOP 経路指定テーブルが更新され、受信した IIOP 要求が 指定の区画のこのクラスター・メンバーに送付されます。

メソッドから偽が返された場合は、HA マネージャーにより、 そのクラスター・メンバーではこの区画が使用不可になり、現在のポリシーに基づいて 別のクラスター・メンバー上の区画の活動化が試されます。 この使用不可化はメソッドに渡された区画にのみ適用され、 このクラスター・メンバー上の他の区画は引き続き活動状態になることができます。 アプリケーションが偽を返す場合には、的確なトレースを使用可能にして、 偽が返された問題を管理者が診断できるようにする必要があります。 問題が一時的なものと判明したら、管理者は JMX を使用して、そのクラスター・メンバーで その指定の区画を再び使用可能にできます。

アプリケーションが (直接の IIOP 経路指定ではなく) メッセージングを使用して区画への要求を 受け取る場合、このアプリケーションでは、要求が到着するトピック/キューに対して サブスクライブする必要があります。

PartitionHandlerLocal#partitionUnloadEvent

区画が非活動状態になると、HA マネージャーによって partitionUnloadEvent メソッドが呼び出されます。 このイベントにより、指定の区画に対する要求の処理停止がアプリケーションに伝えられます。 このコールバックの呼び出しに先立って、区画化機能ランタイムにより、このクラスター・メンバーの IIOP 経路指定 テーブルが更新されます。メソッド・シグニチャーは次のとおりです。

void partitionUnloadEvent(String partitionName)

アプリケーションが (直接の IIOP 経路指定ではなく) メッセージングを使用して着信要求を 受け取る場合、このアプリケーションでは、これらの要求が到着するトピック/キューに対して アンサブスクライブする必要があります。 このメソッドから制御が戻るまで、HA マネージャーによって代わりのクラスター・メンバーが活動状態にされることはありません。

PartitionHandlerLocal#isPartitionAlive

isPartitionAlive メソッドが呼び出されるのは、対象の区画に対して有効な コア・グループ・ポリシー内でその区画を制御するポリシーの isAlive 属性が真に設定されている場合のみです (wpfadmin ポリシーの概要とポリシー・コマンドの例を参照)。

デフォルトの区画化機能の区画ポリシーでは、 このコールバックは使用不可になっています。一般的な区画の場合、このコールバックにより、 クラスター全体のパフォーマンスが影響を受けるからです。管理の厳しい環境では、この属性を積極的に管理した方がよい場合があります。

HA マネージャー・ポリシーの isAlive 属性が真の場合、区画が活動化中/活動状態または 非活動化中に、このメソッドが X 秒 (ポリシーでも設定) ごとに呼び出されます。 この間隔は、制御ポリシーの別の属性を使用して秒数単位で指定します。 isAlive ポリシー属性が偽に設定されている場合は、isPartitionAlive メソッドが呼び出されることはありません。 メソッド・シグニチャーは次のとおりです。

boolean isPartitionAlive(String partitionName)

このメソッドから偽が返された場合、JVM は「混乱状態」になり (停止します)、区画の ホストとして別のクラスター・メンバーが選択されます。 アプリケーションでこのメソッドを使用すると、区画が正常に動作しているかどうかを 確認できます。このためには、通常、リモート JVM から ping タイプの操作または サニティー・チェックを実行する区画メソッドを呼び出すように、 ピア・クラスター・メンバーに指示します。




Related concepts
区画化機能フレームワーク・プログラミング・モデル

Reference topic    

Terms of Use | Feedback Last updated: Mar 20, 2006 12:35:11 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/rwpfPartitionHandlerLocal.html

© Copyright IBM 2005, 2006. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)