ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

4.2.6 サービスの起動時/停止時の出口機能

PCMIサービスの起動時/停止時に、スクリプトを実行できます。

スクリプトにDAS/GlassFish Serverインスタンスの起動コマンドを記述することにより、PCMIサービスの起動と同時にDAS/GlassFish Serverインスタンスを起動できます。

また、スクリプトにDAS/GlassFish Serverインスタンスの停止コマンドを記述することにより、PCMIサービスの停止と同時にDAS/GlassFish Serverインスタンスを停止できます。


サービスの起動時/停止時の出口機能を利用するには、サービス起動時/停止時の出口機能定義ファイルおよびスクリプトファイルを作成します。


4.2.6.1 出口機能定義ファイル

サービス起動時/停止時の出口機能定義ファイルを作成し、以下のディレクトリーに格納します。


ファイル名

pcmi.properties


格納先

[運用資産格納ディレクトリー]\pcmi\adapter

[運用資産格納ディレクトリー]/pcmi/adapter


定義内容

パラメタ

説明

pcmi.adapter.start

ファイル名

起動時スクリプトを指定します。

pcmi.adapter.stop

ファイル名

停止時スクリプトを指定します。

pcmi.adapter.start.ignore-failure

  • true

  • false

起動時スクリプトが実行され、その復帰値が「0」以外の数値である場合の動作を指定します。

  • true
    起動時スクリプトが異常終了した場合でも、PCMIサービスの起動処理を継続します。

  • false/未指定
    起動時スクリプトが異常終了した場合、PCMIサービスの起動処理を異常終了します。

注意

  • 本パラメタは互換を目的として提供しているため、利用を推奨しません。起動時スクリプトが実行されその復帰値が「0」以外の数値である場合でも、PCMIサービスの起動処理を継続する仕様に変更され、本パラメタは無効になりました。旧仕様の互換スイッチとしてPCMIサービス動作定義ファイルのterminateOnStartHookFailureが提供されています。本パラメタを利用する場合は、terminateOnStartHookFailureにtrueを設定する必要があります。
    terminateOnStartHookFailureの詳細は「PCMIサービス起動時の出口機能で異常が発生した場合の制御」を参照してください。

  • アクセス権限などの原因により起動時スクリプトが実行されない場合、本パラメタの設定は無効となり、PCMIサービスの起動処理を異常終了します。

行の先頭に#(シャープ)(半角)を指定すると該当行はコメント行となります。

注意

  • 停止時スクリプトの処理結果にかかわらず、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

4.2.6.2 出口機能で実行するスクリプトファイル

サービス起動時/停止時の出口機能で実行する起動時/停止時スクリプトを作成し、以下のディレクトリーに格納します。起動時/停止時スクリプトは、PCMIサービス起動時/停止時の出口定義ファイルに指定します。


格納先

[運用資産格納ディレクトリー]\pcmi\adapter

[運用資産格納ディレクトリー]/pcmi/adapter


スクリプトファイルの内容

起動時スクリプトには、DAS/GlassFish Serverクラスターの起動コマンドを記述します。

停止時スクリプトには、DAS/GlassFish Serverインスタンスの停止コマンドを記述します。


注意

  • コマンドは、フルパスで記述してください。

  • 正常終了時は、「0」で復帰してください。

  • 停止時スクリプト終了時点で停止していないDAS/GlassFish Serverインスタンスのプロセスは、PCMIサービスにより強制的に回収されます。

  • 起動時スクリプトでGlassFish Serverクラスターの起動を定義する場合は、以下の順に定義してください。

    1. DASの起動

    2. GlassFish Serverクラスターの起動

  • 起動時スクリプトでDAS/GlassFish Serverクラスターの起動サブコマンドを記述する場合、環境変数(PATHやLD_LIBRARY_PATH、LANG等)はPCMIサービスの定義項目の「環境変数」で設定してください。

  • 停止時スクリプトでGlassFish Serverクラスターの停止を定義する場合は、以下の順に定義してください。

    1. GlassFish Serverインスタンスの停止

    2. DASの停止

  • 記述するasadminコマンドには、--userオプションおよび--passwordfileオプションを指定してください。詳細については、「10.1.2 asadminコマンドの共通オプション」を参照してください。


  • 起動時スクリプトおよび停止時スクリプトについて、所有者は運用ユーザー、グループは運用ユーザーのプライマリーグループを設定してください。権限については運用ユーザーで読取り、実行可能な権限を付与してください。


起動時スクリプト例

@echo off

rem DAS起動
call C:\Interstage\glassfish5\glassfish\bin\asadmin start-domain
if %ERRORLEVEL% neq 0 exit /B 1

rem GlassFish Serverクラスター起動
call C:\Interstage\glassfish5\glassfish\bin\asadmin --user admin --passwordfile C:\password.txt start-cluster Cluster001
if %ERRORLEVEL% neq 0 exit /B 1

call C:\Interstage\glassfish5\glassfish\bin\asadmin --user admin --passwordfile C:\password.txt start-cluster Cluster002
if %ERRORLEVEL% neq 0 exit /B 1

exit /B 0

#!/bin/sh

# DAS起動
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin start-domain
if [ "$?" != "0" ]
then
    exit 1
fi

# GlassFish Serverクラスター起動
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin --user admin --passwordfile /tmp/password.txt start-cluster Cluster001
if [ "$?" != "0" ]
then
    exit 1
fi

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin --user admin --passwordfile /tmp/password.txt start-cluster Cluster002
if [ "$?" != "0" ]
then
    exit 1
fi

exit 0

停止時スクリプト例

@echo off

rem GlassFish Serverクラスター停止
call C:\Interstage\glassfish5\glassfish\bin\asadmin stop-local-instance Cluster001-1
if %ERRORLEVEL% neq 0 exit /B 1

call C:\Interstage\glassfish5\glassfish\bin\asadmin stop-local-instance Cluster001-2
if %ERRORLEVEL% neq 0 exit /B 1

call C:\Interstage\glassfish5\glassfish\bin\asadmin stop-local-instance Cluster002-1
if %ERRORLEVEL% neq 0 exit /B 1

rem DAS停止
call C:\Interstage\glassfish5\glassfish\bin\asadmin stop-domain
if %ERRORLEVEL% neq 0 exit /B 1

exit /B 0

#!/bin/sh

# GlassFish Serverクラスター停止
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin stop-local-instance Cluster001-1
if [ "$?" != "0" ]
then
    exit 1
fi

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin stop-local-instance Cluster001-2
if [ "$?" != "0" ]
then
    exit 1
fi

/opt/FJSViaps/glassfish5/glassfish/bin/asadmin stop-local-instance Cluster002-1
if [ "$?" != "0" ]
then
    exit 1
fi

# DAS停止
/opt/FJSViaps/glassfish5/glassfish/bin/asadmin stop-domain
if [ "$?" != "0" ]
then
    exit 1
fi
exit 0