Cosminexus 機能解説
実行中のバッチアプリケーションを必要に応じて停止させることができます。これを,バッチアプリケーションの強制停止といいます。ここでは,バッチアプリケーションの強制停止について説明します。
実行中のバッチアプリケーションを強制停止するには,cjkilljobコマンドを使用します。cjkilljobコマンドを使用すると,バッチアプリケーションを実行しているスレッドに対してメソッドキャンセルを実行してバッチアプリケーションを強制停止します。
メソッドキャンセルとは,実行中のメソッドをキャンセルする機能です。ただし,メソッドを実行している領域によって,キャンセルできるメソッドとできないメソッドがあります。メソッドをキャンセルできる領域のことを非保護区,メソッドをキャンセルできない領域を保護区といいます。実行中のメソッドが非保護区の場合に,メソッドキャンセルが実行されます。バッチアプリケーションの強制停止で実行されるメソッドキャンセルは,J2EEアプリケーション実行時間の監視機能で実行されるメソッドキャンセルと同じです。メソッドキャンセルの処理については,「19.3.3 メソッドキャンセルとは」を参照してください。
バッチアプリケーション強制停止時の処理を次に示します。
次の表に,バッチアプリケーションの強制停止条件を示します。
表14-3 バッチアプリケーションの強制停止の条件
バッチアプリケーションの強制停止の条件 | バッチサーバの動作 | cjexecjobコマンドの動作 |
---|---|---|
バッチアプリケーション実行中にバッチ強制停止コマンドを実行した。 | KDJE55004-I出力して,バッチアプリケーションの実行を強制停止を開始する。強制停止の完了時にはKDJE55005-Iを出力する。強制停止に失敗したときはKDJE55017-Eを出力する。 | バッチ強制終了時の正常パス 戻り値:1 |
バッチアプリケーションの強制停止に失敗すると,バッチサーバが強制停止されます。複数のバッチアプリケーションを連続して実行する場合,バッチサーバの強制停止後に実行するバッチアプリケーションを開始する前に,バッチサーバを再起動する必要があります。このため,Management Serverを利用して,バッチサーバが自動的に再起動するように設定してください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.