クライアントからの入力データの誤りなどにより、アプリケーションプロセスが異常終了した場合に、アプリケーションプロセスを自動的に再起動させることができます。自動再起動を設定すると、クライアントからの新たな要求を処理することができます。
ただし、アプリケーションプロセスが異常終了した時点で仕掛中の要求処理は、クライアントに例外が復帰し、再処理されることはありません。再起動されたアプリケーションプロセスは、キューイングされている新たな要求を処理します。
また、アプリケーションの障害などにより、該当アプリケーションが1度も正常に処理されず、異常終了と再起動が繰り返されてしまうことがあります。このような場合の対処として、アプリケーションプロセスが異常終了する回数の限界値をワークユニット定義の「Application Retry Count(連続異常終了回数)」に指定できます。この場合、アプリケーションプロセスの連続異常終了回数がワークユニット定義で指定した連続異常終了回数に達したとき、ワークユニットが異常終了し、該当ワークユニットで処理中の要求およびキューイングされている要求は、クライアントへエラー復帰します。
なお、「Application Retry Count(連続異常終了回数)」に1を指定した場合は、再起動は行わず、1度アプリケーションプロセスが異常終了するとワークユニットが異常終了します。また、「Application Retry Count(連続異常終了回数)」に0を指定した場合は、アプリケーションプロセスが異常終了した場合、無制限に再起動され、ワークユニットの運用が継続されます。ただし、プロセスの再起動が失敗した場合は、ワークユニットは異常終了となり、同一ワークユニット内で動作しているすべてのアプリケーションが停止します。
トランザクションアプリケーションの場合、アプリケーションの自動再起動機能を設定しただけでは、アプリケーションプログラムの制御中以外の状態で終了した場合、再起動されません。詳細は「I.15.7 サーバアプリケーションプロセスのダウン後の再起動条件の指定」を参照してください。
定義方法
ワークユニット定義の「Application Retry Count(連続異常終了回数)」に設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は「付録A ワークユニット定義」を参照してください。
例
ワークユニット定義の登録
ワークユニット定義
[Control Option] Application Retry Count:5
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1