Cosminexus 機能解説
バッチアプリケーションは,cjexecjobコマンドで開始します。バッチアプリケーションのmainメソッドの実行が終わると,バッチサーバはフルガーベージコレクションを実行します。ここでは,バッチアプリケーションの開始と終了について説明します。
cjexecjobコマンドにバッチアプリケーションのクラス名とクラスパスを指定すると,cjexecjobコマンドに指定したバッチアプリケーションが開始します。バッチアプリケーション開始時の処理を次に示します。
バッチアプリケーションの開始時には,cjexecjobコマンドに指定した実行クラスのpublic static void main(String[])メソッドまたはpublic static int main(String[])メソッドが呼び出されます。メソッドの引数には,cjexecjobコマンドのクラス名のあとに指定した引数を設定します。
表14-1 バッチアプリケーションの開始に失敗する条件
バッチアプリケーションの開始に失敗する条件 | バッチサーバが出力するメッセージ |
---|---|
usrconf.properties(バッチアプリケーション用ユーザプロパティファイル)の読み込みに失敗した。 | KDJE55035-E |
cjexecjobコマンドに指定したクラスが存在しない。 | KDJE55006-E |
public static void main(String[])メソッドまたはpublic static int main(String[])メソッドが定義されていない。 | |
public static void main(String[])メソッドまたはpublic static int main(String[])メソッドのどちらともシグニチャが異なる。 | |
cjexecjobコマンドに指定したクラスのロード時に,java.lang.NoClassDefFoundErrorが発生した。 | KDJE55007-E |
public static void main(String[])メソッドまたはpublic static int main(String[])メソッド呼び出し時に必要なクラスが見つからない。 | |
static{}ブロック内でエラーが発生した。 | |
上記以外の問題でmainメソッドが実行できない。 | KDJE55008-E |
なお,バッチアプリケーションの作成については,「15.2 バッチアプリケーションの作成」を参照してください。
バッチアプリケーションのmainメソッドの実行が終わると処理が終了します。バッチアプリケーション終了時の処理を次に示します。
なお,バッチアプリケーション実行中に[Ctrl]+[C]やシグナルなどによってcjexecjobコマンドを終了しても,バッチアプリケーションの実行は終了しません。バッチアプリケーションの実行を強制停止したい場合,cjkilljobコマンドを実行してください。ただし,cjkilljobコマンドで強制終了した場合,cjexecjobコマンドの終了コードは不定となります。
バッチ強制停止コマンドについては,「14.2.3 バッチアプリケーションの強制停止」を参照してください。
表14-2 バッチアプリケーションの終了条件
バッチアプリケーションの終了条件 | バッチサーバの動作 | cjexecjobコマンドの動作 |
---|---|---|
mainメソッドを最後まで実行した。 | KDJE55002-I出力して,バッチアプリケーションの実行を終了する。終了後にKDJE55003-Iを出力する。 | 正常終了する。 戻り値:0 |
public static void main(String[])メソッドでreturn文を実行した。 | ||
public static int main(String[])メソッドでreturn <終了コード>を実行した。 | 正常終了する。 戻り値:returnに指定した終了コード |
|
mainメソッドの外に,java.lang.Throwableまたはjava.lang.Throwableを継承したクラスがスローされた。 | KDJE55009-Eを出力する。例外のスタックトレースを例外ログに出力する。バッチアプリケーションの実行を終了する。 | 例外のスタックトレースを標準エラー出力に出力する。バッチアプリケーションの実行を異常終了する。 戻り値:1 |
バッチサーバが終了した(バッチサーバの強制終了または予期しないJavaVMのダウン)。 | なし。 | KDJE55021-Eを出力して,バッチアプリケーションの実行を異常終了する。 戻り値:1 |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.