バッチアプリケーション実行機能とは,バッチアプリケーションを実行するための機能です。バッチアプリケーションは,バッチアプリケーション実行機能で提供されているバッチクラスローダ上で実行されます。また,実行中のバッチアプリケーションが出力した内容は,ログ出力機能に出力されます。
バッチアプリケーション実行機能について次の図に示します。
図2-6 バッチアプリケーション実行機能の概要
また,バッチアプリケーション実行機能は,EJBアクセス機能やリソース接続機能と連携できます。
EJBアクセス機能については「2.4.1 EJBアクセスで使用できる機能」を,リソース接続機能については「2.7 リソース接続機能」を参照してください。
次に,バッチアプリケーションのライフサイクルとバッチアプリケーションを実行するクラスローダについて説明します。
バッチアプリケーションは,cjexecjobコマンドを使用して開始します。次の図を使用して,バッチアプリケーションのライフサイクルについて説明します。
図2-7 バッチアプリケーションのライフサイクル
バッチアプリケーションの状態遷移を次の図に示します。
図2-8 バッチアプリケーションの状態遷移(スケジューリング機能を使用しない場合)
「RUNNING」は,バッチアプリケーションがバッチサーバ上にあって実行中の状態です。
バッチアプリケーションの状態は,バッチアプリケーション情報から確認できます。バッチアプリケーション情報の表示方法については,「2.3.4 バッチアプリケーション情報の一覧表示」を参照してください。
バッチアプリケーション実行時には,バッチサーバ上でバッチアプリケーション用のクラスローダが生成されます。バッチアプリケーションはクラスローダ上で実行されます。バッチアプリケーション用のクラスローダの構成を次の図に示します。
図2-9 バッチアプリケーションを実行するクラスローダの構成
図のそれぞれのクラスローダについて説明します。
なお,バッチクラスローダ生成時には,バッチクラスローダが生成されたことを示すメッセージが出力されます(メッセージKDJE55013-I)。また,バッチクラスローダのファイナライズ処理が実行されたことを示すメッセージも出力されます(メッセージKDJE55014-I)。
クラスローダの破棄についての注意事項は,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「付録B.1 デフォルトのクラスローダ構成」を参照してください。なお,クラスローダの破棄のタイミング,クラスローダの破棄時に出力されるメッセージについては適宜読み替えてください。