3.19 Cosminexusとの連携によるバッチアプリケーション実行
バッチジョブ実行システムでは,Cosminexusと連携してJavaバッチアプリケーションが実行できる。また,バッチジョブ実行システムに定義したファイルの情報をJavaバッチアプリケーションからも利用できる。
バッチジョブ実行システムからJavaバッチアプリケーションを実行する方法は,EXEC要素にLANG="Java"を指定する方法とEXEC要素にLANG="Java"を指定しない方法の2とおりある。
EXEC要素にLANG="Java"を指定した場合は,Cosminexus 08-00以降が提供するCTM(Component Transaction Monitor)のジョブスケジューリング機能と連携して,Javaバッチアプリケーションを実行できる。この場合,バッチジョブ実行システムは内部的にcjexecjobコマンドを呼び出すため,EXEC要素のPGM属性にcjexecjobコマンドを記述する必要はない。
EXEC要素にLANG="Java"を指定しないでJavaバッチアプリケーションを実行する方法については「3.19.2 LANG="Java"を指定しないでJavaバッチアプリケーションを実行する方法」を参照のこと。
EXEC要素にLANG="Java"を指定した場合,バッチジョブ実行システムでは,次の機能を利用できる。
-
DD要素に指定したファイルの属性を,Javaバッチアプリケーション内でシステムプロパティ値として取得する。
-
SYSOUTの機能を利用して,PDEとの連携による帳票を出力する。
-
JP1/AJSからの強制停止要求時に,Javaバッチアプリケーションに対して内部的にcjkilljobコマンドを発行して,Javaバッチアプリケーションを停止する。
CosminexusのJavaバッチアプリケーション実行基盤との連携可否を次の表に示す。
連携できる機能 |
LANG="Java"を指定するとき |
LANG="Java"を指定しないとき |
---|---|---|
ジョブステップ実行 |
○ |
○ |
ジョブステップの条件付実行 |
○ |
○ |
一時ファイル |
○ |
× |
ダミーファイル |
○ |
× |
世代ファイル |
○※1 |
× |
バッチアプリケーションの環境変数への受け渡し |
× |
× |
SYSIN |
○ |
× |
SYSOUT(PDE連携) |
○ |
× |
スプール制御/ジョブログ出力機能 |
○ |
○※2 |
JP1/AJSからの強制終了時の連携 |
○ |
× |
JOBLIB/STEPLIB |
× |
× |
DD連結 |
× |
× |
- (凡例)
-
○:連携できる。
×:連携できない。
注※1 cjexecjobコマンドの引数には文字数制限があるため,世代データ群に属する世代ファイルを作成するときは,作成数に注意すること。詳細については「3.19.1(5) 注意事項」を参照のこと。
注※2 ジョブステップのCPU使用時間は出力できない。cjexecjobコマンドのCPU使用時間が出力される。
CTM,ジョブスケジューリング機能の詳細,およびcjexecjobコマンドとcjkilljobコマンドについては,Cosminexus 08-00以降のマニュアルを参照のこと。