高可用性インフラストラクチャーが使用できず、IIOP ルーティング機能が必要な場合は、
クラスターのメンバーがエンタープライズ Bean
要求を処理するために使用する静的ルーティング・テーブルを作成することができます。
この静的ルーティング・テーブルに含まれる情報ではサーバーのランタイムの状態が説明されていないため、
このテーブルを削除し、高可用性インフラストラクチャーが使用可能になった場合に、
即時に動的ルーティング・テーブルの使用に戻る必要があります。
始める前に
静的ルーティング・テーブルを作成する前に、以下の点を確認してください。
- 個々のクラスター・メンバー上で、ORB_LISTENER_ADDRESS ポートがゼロ以外の値に
設定されている。作成するルーティング・テーブルが静的であり、クラスター・メンバーが
状態変更中は通信しないため、各クラスター・メンバーに ORB_LISTENER_ADDRESS ポートを
設定していないと、クラスター・メンバーが別のポートで再始動する場合があり、IIOP 要求が
正しく経路指定されません。
ORB_LISTENER_ADDRESS ポートに
指定された値を変更する手順は次のとおりです。
- 管理コンソールで、「server_name」をクリックしてから、「通信」の下の「ポート」をクリックします。
- 「ポート名」フィールドで「ORB_LISTENER_ADDRESS」をクリックします。
- 「ポート」フィールドに指定されている値を、0 より大きい値に
変更します。
- 各クラスター・メンバーが始動済みで、上記の新しいゼロ以外の ORB_LISTENER_ADDRESS ポート値を正しく IIOP 要求に経路指定できる。
このタスクについて
高可用性インフラストラクチャーが使用不可になり、IIOP
ルーティング機能を必要とする場合は、静的経路テーブルを作成するだけです。
静的経路テーブルを作成するには、以下の手順を実行します。
手順
- wsadmin ツールがまだ始動していない場合は、始動します。
- ルーティング・テーブルを作成するクラスターのクラスター管理 Bean (MBean) を確認し、
その MBean を変数に割り当てます。
- Jacl を使用:
set cluster [$AdminControl completeObjectName cell=
cell_name,type=Cluster,name=cluster_name,*]
puts $cluster
- Jython を使用:
cluster = AdminControl.completeObjectName('cell=
cell_name,type=Cluster,name=cluster_name,*')
print cluster
上記のコマンドで、指定したクラスターのクラスター MBean の名前が
戻されます。例えば、クラスター cluster1 の場合は、このコマンドから以下のような
メッセージが出力されます。
WebSphere:cell=mycell,name=cluster1,mbeanIdentifier=Cluster,type=
Cluster,process=cluster1
- ルーティング・テーブルをエクスポートします。
テーブルを作成すると、以下のようなメッセージにルーティング・テーブル・ファイルの名前が
表示されます。
/home/myInstall/was/server/profiles/dmgrProfile/config/cells/mycell/
clusters/cluster1/cluster1.wsrttbl
このメッセージが示すように、
テーブルを含むファイルは該当のクラスター用のデプロイメント・マネージャーの config
ディレクトリーに置かれます。
動的ルーティングの使用を再開する準備ができたときにこのファイルを削除できるよう、この場所の記録をとっておく必要があります。
- 構成変更をノード間で同期化します。
- 構成リポジトリー・エポックをクリアします。 構成リポジトリー・エポックをクリアしない場合、
同期では構成サービス・コンポーネントが編集したファイルのみが更新されます。
これには、静的ルーティング・テーブルを伴うファイルが含まれていません。
Jacl を使用:
set configRepository [$AdminControl completeObjectName
node=node_name,type=ConfigRepository,*]
$AdminControl invoke $configRepository refreshRepositoryEpoch
Jython を使用:
configRepository = AdminControl.completeObjectName('node=node_name,
type=ConfigRepository,*')
AdminControl.invoke(configRepository, 'refreshRepositoryEpoch')
- 同期化する各ノードに対してこのプロセスを繰り返します。
- クラスターを停止します。 トピック『クラスターの停止』または『スクリプトによる
クラスターの停止』に示されている手順に従ってください。
- wsadmin ツールを終了します。
- startServer コマンドに次のデバッグ・フラグを追加して、
このクラスターの各メンバーを手動で始動します。
-Dcom.ibm.websphere.management.registerServerIORWithLSD=false
例えば、Windows オペレーティング・システム上の server1 を静的ルーティングを使用可能にして始動する場合は、サーバー・プロファイルの bin ディレクトリーから以下のコマンドを発行します。
startServer.bat server1 -Dcom.ibm.websphere.management.registerServerIORWithLSD=false
タスクの結果
クラスター・メンバーは、静的経路テーブルを使用して IIOP 経路指定を実行します。
次のタスク
HA インフラストラクチャーが使用可能になっている場合は、
トピック『
クラスター用の静的ルーティングを使用不可に設定』の手順に
従って、静的ルーティングを使用不可にしてください。静的ルーティングが使用不可になっている場合、クラスター・メンバーは
動的ルーティングの使用を再開します。