GlassFish Serverクラスターの複数プロセスでの運用について
GlassFish Serverクラスターに対して複数のGlassFish Serverインスタンスを登録すると、複数のJava VMプロセスを一括で起動・停止できます。
GlassFish Serverインスタンスは、実際に生成されるJava VMプロセスと対応しているため、GlassFish Serverクラスターを起動するとGlassFish ServerインスタンスごとにJava VMプロセスが生成されます。
プロセスIDとGlassFish Serverインスタンス名
それぞれのGlassFish Serverインスタンスは異なるプロセスIDとGlassFish Serverインスタンス名を持っており、ユーザーはこれらの情報を使用して各プロセスを識別します。一方、ユーザーアプリケーションや設定情報はGlassFish Serverクラスター単位で同一のものを参照します。
GlassFish Serverクラスターを複数のインスタンスで起動したときの構成について、以下に説明します。
項目 | 構成 | 説明 |
---|---|---|
プロセスID | インスタンス単位 |
|
インスタンス名 | インスタンス単位 |
|
設定情報 | GlassFish Serverクラスター単位 | 設定情報は、GlassFish Serverクラスター単位で同一の設定を参照します。 |
配備済みアプリケーション | GlassFish Serverクラスター単位 | 配備済みアプリケーションは、GlassFish Serverクラスター単位で同一のアプリケーションを参照します。 |
ログ | インスタンス単位 | ログ出力ディレクトリ、およびログファイルは、GlassFish Serverインスタンスごとに作成されます。 |
カレントディレクトリー | インスタンス単位 | カレントディレクトリーは、GlassFish Serverインスタンスごとに作成されます。 |
注意
GlassFish Serverクラスター運用中に設定を更新した場合、更新した内容は停止しているGlassFish Serverインスタンスに反映され、すでに起動しているGlassFish Serverインスタンスには反映されません。GlassFish Serverクラスターに属するすべてのGlassFish Serverインスタンスに対して定義内容を反映させるためには、GlassFish Serverクラスターの再起動、または、すべてのGlassFish Serverインスタンスの再起動を実施してください。
ユーザーアプリケーションからは以下のシステムプロパティによりGlassFish Serverインスタンス名を取得できます。
com.sun.aas.instanceName
本機能により、GlassFish Serverクラスターを複数GlassFish Serverインスタンスで運用する際にアプリケーションからプロセスを識別できます。
例えば、業務データをログファイルに出力する場合、アプリケーションからGlassFish Serverインスタンス名を取得してファイル名に付加すると、プロセスごとに異なるファイルにデータを出力できます。
例
GlassFish Serverインスタンス名取得の実装例
String instanceName = System.getProperty("com.sun.aas.instanceName"); |
プロセスID保存ファイル
GlassFish Serverクラスターの起動時、GlassFish ServerインスタンスのJava VMプロセスのプロセスIDが以下のファイルに出力されます。
このファイルは、GlassFish Serverクラスターを停止した際に削除されますが、GlassFish ServerインスタンスのJava VMプロセスが異常終了した場合は、ファイルが残存します。
[運用資産格納ディレクトリー]\nodes\localhost-domain1\[GlassFish Serverインスタンス名]\config\pid
[運用資産格納ディレクトリー]/nodes/localhost-domain1/[GlassFish Serverインスタンス名]/config/pid