ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

3.4.3 IJServerクラスタの複数プロセス構成

ここでは、以下について説明します。

IJServerクラスタ複数プロセスでの運用について

IJServerクラスタに対して複数のサーバーインスタンスを登録すると、複数のJava VMプロセスを一括で起動・停止できます。
サーバーインスタンスは、実際に生成されるJava VMプロセスと対応しているため、IJServerクラスタを起動するとサーバーインスタンスごとにJava VMプロセスが生成されます。



プロセスIDとサーバーインスタンス名

それぞれのサーバーインスタンスは異なるプロセスIDとサーバーインスタンス名を持っており、ユーザはこれらの情報を使用して各プロセスを識別します。一方、ユーザアプリケーションや定義情報はIJServerクラスタ単位で同一のものを参照します。
IJServerクラスタを複数のインスタンスで起動したときの構成について、以下に説明します。

項目

構成

説明

プロセスID

インスタンス単位

  

インスタンス名

インスタンス単位

  

設定情報

IJServerクラスタ単位

設定情報は、IJServerクラスタ単位で同一の設定を参照します。
ただし、プロセス間の重複ができない項目(リクエスト受付ポート番号など)は、サーバーインスタンスごとに値を設定する必要があります。

配備済みアプリケーション

IJServerクラスタ単位

配備済みアプリケーションは、IJServerクラスタ単位で同一のアプリケーションを参照します。

ログ

インスタンス単位

ログ出力ディレクトリ、およびログファイルは、サーバーインスタンスごとに作成されます。

カレントディレクトリ

インスタンス単位

カレントディレクトリは、サーバーインスタンスごとに作成されます。


注意

IJServerクラスタ運用中に設定を更新した場合、更新した内容は停止しているサーバーインスタンスに反映され、すでに起動しているサーバーインスタンスには反映されません。すでに起動されているサーバーインスタンスに対し、更新内容が反映されているかどうかは、サーバーインスタンスの状態で判断できます。
サーバーインスタンスの状態がrequired restartの場合、設定更新内容は反映されていません。IJServerクラスタに属するすべてのサーバーインスタンスに対して定義内容を反映させるためには、IJServerクラスタの再起動、または、すべてのサーバーインスタンスの再起動を実施してください。

ユーザアプリケーションからは以下のプロパティによりIJServerクラスタ名とサーバーインスタンス名を取得できます。

IJServerクラスタ名

com.sun.aas.clusterName

サーバーインスタンス名

com.sun.aas.instanceName

本機能により、IJServerクラスタを複数サーバーインスタンスで運用する際にアプリケーションからプロセスを識別できます。
例えば、業務データをログファイルに出力する場合、アプリケーションからサーバーインスタンス名を取得してファイル名に付加すると、プロセスごとに異なるファイルにデータを出力できます。

サーバーインスタンス名取得の実装例

String instanceName =
System.getProperty("com.sun.aas.instanceName");

プロセスID保存ファイル

IJServerクラスタの起動時、サーバーインスタンスのJava VMプロセスのプロセスIDが以下のファイルに出力されます。
このファイルは、IJServerクラスタを停止した際に削除されますが、サーバーインスタンスのJava VMプロセスが異常終了した場合は、ファイルが残存します。