15.15.1 異常終了したJP1/AJS2のプロセスを再起動する

JP1/AJS2を起動すると,複数のプロセスが生成されます。JP1/AJS2 - ManagerおよびJP1/AJS2 - Agentでは,あらかじめ再起動の設定をしておくことで,何らかの理由でプロセスが異常終了した場合に自動でプロセスを再起動できます。

なお,ここで説明する再起動の設定は,クラスタ運用ではないJP1/AJS2の再起動を目的としています。クラスタ運用の場合で再起動したいときは,クラスタソフトの制御によって再起動するようにしてください。詳細については,「16.1 クラスタシステムの概要」を参照してください。

再起動の設定対象となるのは,次に示す,JP1/AJS2 - Manager,JP1/AJS2 - AgentのJP1/AJS2サービスの子プロセスだけです。

上記プロセスの再起動の設定は,拡張起動プロセス定義ファイルで定義します。デフォルトでは再起動の設定は無効となっています。設定を有効にするには,拡張起動プロセス定義ファイルの編集後,JP1/BaseおよびJP1/AJS2を再起動してください。また,Windowsの場合は「ワトソン博士」の設定を変更する必要があります。「ワトソン博士」の設定の変更方法については,「(1) ワトソン博士の設定を変更する」を参照してください。

拡張起動プロセス定義ファイルの格納先を次に示します。

Windowsの場合
JP1/AJS2のインストール先フォルダ¥conf¥jp1ajs_service_0700.conf
UNIXの場合
/etc/opt/jp1ajs2/conf/jp1ajs_service_0700.conf

定義ファイルの形式を次に示します。

プロセス名|パス|起動オプション|再起動可否|再起動回数|リトライ間隔|再起動回数リセット時間|

定義ファイルには,あらかじめ定義情報が記載されています。プロセス名,パス,起動オプションのフィールドは変更しないでください。また,フィールドを区切っている|は省略できません。コメント文を挿入したい場合は,行頭に#を付けてください。改行されるまでがコメント文です。

変更できるフィールドに指定できる値を次の表に示します。

表15-23 変更できるフィールドに指定できる値

フィールド名内容
再起動可否プロセスが異常終了した場合に,再起動するかどうかを指定します。再起動しない場合は0,再起動する場合は1を指定します。デフォルトは0です。
再起動回数プロセスの再起動の試行回数を指定します。指定できる値は,0~99です。各プロセスで,あらかじめ最適値が設定されています。運用方法に応じてカスタマイズしてください。再起動可否のフィールドに0が指定されている場合は,値が指定されていても無効です。
リトライ間隔プロセスの再起動のリトライ間隔を秒単位で指定します。指定できる値は,0~3,600です。各プロセスで,あらかじめ最適値が設定されています。運用方法に応じてカスタマイズしてください。再起動可否のフィールドに0が指定されている場合は,値が指定されていても無効です。
再起動回数リセット時間再起動によってプロセスが起動してから,何時間後に再起動回数をリセットするかを秒単位で指定します。プロセスが起動してから,指定した時間が経過すると,再起動回数がリセットされます。再度プロセスが異常終了した場合は,再起動回数が1からカウントされます。
再起動によってプロセスが起動してから,指定した時間より前に再度異常終了した場合は,前回の再起動回数を引き継ぎます。指定できる値は,3,600~2,147,483,647(秒)です。各プロセスで,あらかじめ最適値が設定されています。運用方法に応じてカスタマイズしてください。再起動可否のフィールドに0が指定されている場合は,値が指定されていても無効です。

フィールド名「再起動可否」については,すべての子プロセスに対して同じ値を設定してください。「再起動可否」の設定ごとの子プロセスの動作を次に示します。

表15-24 各子プロセスが異常終了した場合の各子プロセスの状態(再起動しない場合)

子プロセス再起動可否jpqmonの異常終了後jpomanagerの異常終了後jpoagentの異常終了後ajsmasterdの異常終了後ajsgwmasterdの異常終了後
jpqmon0停止残存残存残存残存
jpomanager0停止停止残存残存残存
jpoagent0停止停止停止残存残存
ajsmasterd0停止停止停止停止残存
ajsgwmasterd0残存残存残存残存停止

表15-25 各子プロセスが異常終了した場合の各子プロセスの状態(再起動する場合)

子プロセス再起動可否jpqmonの異常終了後jpomanagerの異常終了後jpoagentの異常終了後ajsmasterdの異常終了後ajsgwmasterdの異常終了後
jpqmon1再起動残存残存残存残存
jpomanager1再起動再起動残存残存残存
jpoagent1再起動再起動再起動残存残存
ajsmasterd1再起動再起動再起動再起動残存
ajsgwmasterd1残存残存残存残存再起動
注意事項
  • 設定を省略したり,正常値を設定していない状態でプロセスを起動したりすると,エラーとなり起動しません。
  • クラスタ構成では,論理ホストのプロセス管理のプロセスを起動する際,論理ホストのconfフォルダに拡張起動プロセス定義ファイルがない場合,物理ホストの拡張起動定義ファイルがコピーされます。
  • 子プロセスajsmasterdが再起動した場合,再起動後のジョブネットおよびジョブの状態は,JP1/AJS2サービスの起動モードによって異なります。サービス起動モードによるジョブネットおよびジョブの状態の詳細については,「15.4.1(3) 起動モード別のジョブネットおよびジョブの状態」を参照してください。
  • 再起動時,統合トレースログに「KAVB3737-E コンポーネント名管理対象プロセス名は異常終了しました」というメッセージが出力される場合があります。要因は,異常終了したプロセスを再起動するまでの間隔が短いため,異常終了したプロセスが配下の子プロセスも含めて完全に停止する前に再起動の動作が開始し,二重起動が検知されるためです。再起動回数内であれば,起動できるまで自動的に再起動を試みるため問題ありませんが,拡張起動プロセス定義ファイルのリトライ間隔を延ばすことによって,エラーメッセージKAVB3737-Eの出力を回避できます。
    なお,リトライ間隔を長くすることによって,逆にJP1/AJS2サービスの再起動までの時間が長くなることがあります。そのため,リトライ間隔に大きい値を設定しないでください。変更する場合の推奨値は10秒です。
<この項の構成>
(1) ワトソン博士の設定を変更する
(2) 設定例

(1) ワトソン博士の設定を変更する

Windowsの場合は,プロセスを自動で再起動するときにワトソン博士でアプリケーションエラーになり,メッセージボックスが表示されます。メッセージボックスが表示されると再起動が有効にならないため,メッセージボックスによるエラーの通知を抑止する必要があります。

メッセージボックスによるエラーの通知を抑止すると,ほかのアプリケーションエラー時にもメッセージボックスが表示されなくなるため注意してください。

ワトソン博士の設定の変更手順を次に示します。

  1. スタートメニューから[ファイル名を指定して実行]を選択する。
  2. テキストボックスに「drwtsn32」と入力し,[OK]ボタンをクリックする。
    [ワトソン博士]ダイアログボックスが開きます。
  3. 「メッセージボックスによる通知」のチェックを外す。
  4. [OK]ボタンをクリックする。

(2) 設定例

拡張起動プロセス定義ファイルの設定例と,プロセスが異常終了した場合の動作を次に示します。

ここでは,JP1/AJS2のプロセスに対して次の条件を設定します。

再起動可否:する
再起動回数:4回
リトライ間隔:3秒
再起動回数リセット時間:3,600秒

図15-4 拡張起動プロセス定義ファイルの設定例

[図データ]

プロセスが異常終了した場合の動作例を次の図に示します。

図15-5 プロセスが異常終了した場合の動作例

[図データ]

図の例では,再起動後,再起動回数のリセット時間で指定した3,600秒以内に異常終了しなかった場合,3,600秒の時点で再起動回数がリセットされます。次回異常終了したときには1回目からカウントされます。一方,再起動後,3,600秒以内に異常終了した場合は,再起動回数を引き継ぎます。再起動回数が,指定した回数に達すると,次回異常終了時には再起動しません。