Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 拡張編


2.3.7 バッチアプリケーションの実装(バッチアプリケーションの作成規則)

バッチアプリケーションとは,バッチ処理の内容を実装したJavaアプリケーションです。ここでは,バッチアプリケーションの作成規則について説明します。

〈この項の構成〉

(1) バッチアプリケーションのファイル形式

バッチアプリケーションは,JavaVMで規定しているクラスファイル形式にします。なお,複数のクラスを使用する場合は次のこともできます。

(2) バッチアプリケーションに実装できる処理

バッチアプリケーションには,Javaで記述できる処理を実装できます。ただし,ファイルの操作やバッチアプリケーション内で使用するスレッドなどについて,使用時の注意事項があります。アプリケーション作成時の注意については,「2.3.11 バッチアプリケーション作成時の注意」を参照してください。

(3) バッチ処理の開始

バッチ処理の開始メソッドとして,次のどちらかのメソッドをバッチアプリケーションに定義してください。

mainメソッドの戻り値の型と修飾子が異なる場合,バッチアプリケーションは実行できません。なお,mainメソッドにはthrowsを指定できます。mainメソッドの引数には,cjexecjobコマンドに指定した引数が文字列配列で渡されます。

また,JavaVM終了メソッドを使用できる設定にした場合は,バッチアプリケーションの開始時に,バッチサーバによってバッチアプリケーション実行開始スレッドが作成され,スレッドグループ(batchThreadGroup)に登録されます。JavaVM終了メソッドは,簡易構築定義ファイルでejbserver.batch.application.exit.enabledパラメタに「true」を指定した場合に使用できます。ejbserver.batch.application.exit.enabledパラメタの設定については,「2.3.10 実行環境での設定(バッチサーバの設定)」を参照してください。

(4) バッチ処理の終了

バッチアプリケーションが次のどちらかの状態になると処理が終了します。

また,次のどれかの状態になると,バッチアプリケーションのスレッド(batchThreadGroupに属するスレッド)が終了します。

バッチアプリケーション終了時に使用できる終了処理を次の表に示します。

表2‒8 バッチアプリケーション終了時に使用できる終了処理

バッチアプリケーションの終了方法

使用できる終了処理

java.io.deleteOnExit

シャットダウンフック

JavaVM終了メソッドの呼び出しによる終了

java.lang.System.exit(int)の呼び出しによる終了

java.lang.Runtime.exit(int)の呼び出しによる終了

java.lang.Runtime.halt(int)の呼び出しによる終了

×

[Ctrl]+[C]による終了

×

×

mainメソッドのリターンによる終了

mainスレッドでの例外発生による終了

(凡例)○:使用できる ×:使用できない

なお,JavaVM終了メソッドは,簡易構築定義ファイルでejbserver.batch.application.exit.enabledパラメタに「true」を指定した場合に使用できます。ejbserver.batch.application.exit.enabledパラメタの設定については,「2.3.10 実行環境での設定(バッチサーバの設定)」を参照してください。