ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express Java EE運用ガイド(Java EE 6編)
FUJITSU Software

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

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

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

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



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

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

項目

構成

説明

プロセスID

インスタンス単位

  

インスタンス名

インスタンス単位

  

設定情報

IJServerクラスタ単位

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

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

IJServerクラスタ単位

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

ログ

インスタンス単位

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

カレントディレクトリ

インスタンス単位

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


注意

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

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

サーバーインスタンス名

com.sun.aas.instanceName

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

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

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

プロセスID保存ファイル

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

[Java EE 6共通ディレクトリ]\nodes\localhost-domain1\[サーバーインスタンス名]\config\pid
[Java EE 6共通ディレクトリ]/nodes/localhost-domain1/[サーバーインスタンス名]/config/pid