PCMIサービスの起動時・停止時に、スクリプトを実行できます。
スクリプトにDAS/GlassFish Serverインスタンスの起動コマンドを記述することで、PCMIサービスの起動と同時にDAS/GlassFish Serverインスタンスを起動できます。
また、スクリプトにDAS/GlassFish Serverインスタンスの停止コマンドを記述することで、PCMIサービスの停止と同時にDAS/GlassFish Serverインスタンスを停止できます。
サービスの起動時・停止時の出口機能を利用するには、サービス起動時・停止時の出口機能定義ファイルおよびスクリプトファイルを作成します。
サービス起動時・停止時の出口機能定義ファイルを作成し、以下のディレクトリーに格納します。
ファイル名
pcmi.properties
格納先
[運用資産格納ディレクトリー]\pcmi\adapter |
[運用資産格納ディレクトリー]/pcmi/adapter |
定義内容
パラメーター | 値 | 説明 |
---|---|---|
pcmi.adapter.start | ファイル名 | 起動時スクリプトを指定します。 |
pcmi.adapter.stop | ファイル名 | 停止時スクリプトを指定します。 |
pcmi.adapter.start.ignore-failure |
| 起動時スクリプトが実行され、その復帰値が「0」以外の数値の場合の動作を指定します。
注意
|
行の先頭に#(シャープ)(半角)を指定すると該当行はコメント行となります。
注意
停止時スクリプトの処理結果にかかわらず、PCMIサービスの停止処理を継続するため、停止時スクリプトに指定するパラメーターはありません。
停止時スクリプトにDAS/GlassFish Serverインスタンスの停止コマンドを記述しない場合、PCMIサービスの停止と同時にDAS/GlassFish Serverインスタンスは強制的に回収されます。
指定例
pcmi.adapter.start = start.bat pcmi.adapter.stop = stop.bat pcmi.adapter.start.ignore-failure = false
pcmi.adapter.start = start.sh pcmi.adapter.stop = stop.sh pcmi.adapter.start.ignore-failure = false
サービス起動時・停止時の出口機能で実行する起動時/停止時スクリプトを作成し、以下のディレクトリーに格納します。起動時/停止時スクリプトは、PCMIサービス起動時・停止時の出口定義ファイルに指定します。
格納先
[運用資産格納ディレクトリー]\pcmi\adapter |
[運用資産格納ディレクトリー]/pcmi/adapter |
スクリプトファイルの内容
起動時スクリプトには、DAS/GlassFish Serverクラスターの起動コマンドを記述します。
停止時スクリプトには、DAS/GlassFish Serverインスタンスの停止コマンドを記述します。
注意
コマンドは、フルパスで記述してください。
正常終了時は、「0」で復帰してください。
停止時スクリプト終了時点で停止していないDAS/GlassFish Serverインスタンスのプロセスは、PCMIサービスにより強制的に回収されます。
起動時スクリプトでGlassFish Serverクラスターの起動を定義する場合は、以下の順に定義してください。
DASの起動
GlassFish Serverクラスターの起動
起動時スクリプトでDAS/GlassFish Serverクラスターの起動サブコマンドを記述する場合、環境変数(PATHやLD_LIBRARY_PATH、LANG等)はPCMIサービスの定義項目の「環境変数」で設定してください。
停止時スクリプトでGlassFish Serverクラスターの停止を定義する場合は、以下の順に定義してください。
GlassFish Serverインスタンスの停止
DASの停止
記述するasadminコマンドには、--userオプションおよび--passwordfileオプションを指定してください。詳細については、Eclipse GlassFishドキュメント「Reference Manual」の「Eclipse GlassFish Server 5.1 Utility Commands」-「asadmin」を参照してください。
起動時スクリプトおよび停止時スクリプトについて、所有者は運用ユーザー、グループは運用ユーザーのプライマリーグループを設定してください。権限については運用ユーザーで読取り、実行可能な権限を付与してください。
起動時スクリプト例
@echo off rem DAS起動 call C:\eapf\glassfish\glassfish\bin\asadmin start-domain if %ERRORLEVEL% neq 0 exit /B 1 rem GlassFish Serverクラスター起動 call C:\eapf\glassfish\glassfish\bin\asadmin --user admin --passwordfile C:\password.txt start-cluster GFServer001 if %ERRORLEVEL% neq 0 exit /B 1 call C:\eapf\glassfish\glassfish\bin\asadmin --user admin --passwordfile C:\password.txt start-cluster GFServer002 if %ERRORLEVEL% neq 0 exit /B 1 exit /B 0
#!/bin/sh # DAS起動 /opt/FJSVeapf/glassfish/glassfish/bin/asadmin start-domain if [ "$?" != "0" ] then exit 1 fi # GlassFish Serverクラスター起動 /opt/FJSVeapf/glassfish/glassfish/bin/asadmin --user admin --passwordfile /tmp/password.txt start-cluster GFServer001 if [ "$?" != "0" ] then exit 1 fi /opt/FJSVeapf/glassfish/glassfish/bin/asadmin --user admin --passwordfile /tmp/password.txt start-cluster GFServer002 if [ "$?" != "0" ] then exit 1 fi exit 0
停止時スクリプト例
@echo off rem GlassFish Serverクラスター停止 call C:\eapf\glassfish\glassfish\bin\asadmin stop-local-instance GFServer001-1 if %ERRORLEVEL% neq 0 exit /B 1 call C:\eapf\glassfish\glassfish\bin\asadmin stop-local-instance GFServer001-2 if %ERRORLEVEL% neq 0 exit /B 1 call C:\eapf\glassfish\glassfish\bin\asadmin stop-local-instance GFServer002-1 if %ERRORLEVEL% neq 0 exit /B 1 rem DAS停止 call C:\eapf\glassfish\glassfish\bin\asadmin stop-domain if %ERRORLEVEL% neq 0 exit /B 1 exit /B 0
#!/bin/sh # GlassFish Serverクラスター停止 /opt/FJSVeapf/glassfish/glassfish/bin/asadmin stop-local-instance GFServer001-1 if [ "$?" != "0" ] then exit 1 fi /opt/FJSVeapf/glassfish/glassfish/bin/asadmin stop-local-instance GFServer001-2 if [ "$?" != "0" ] then exit 1 fi /opt/FJSVeapf/glassfish/glassfish/bin/asadmin stop-local-instance GFServer002-1 if [ "$?" != "0" ] then exit 1 fi # DAS停止 /opt/FJSVeapf/glassfish/glassfish/bin/asadmin stop-domain if [ "$?" != "0" ] then exit 1 fi exit 0