Hitachi

uCosminexus Batch Job Execution Server 使用の手引(Windows(R)用)


3.15.1 LANG="Java"を指定した場合のJavaバッチアプリケーションを実行する方法

EXEC要素にLANG="Java"を指定した場合のJavaバッチアプリケーションの実行に必要な情報の定義方法について示す。

〈この項の構成〉

(1) EXEC要素

バッチジョブ実行システムからJavaバッチアプリケーションを実行する場合には,次に示す情報をジョブ定義XMLファイルに指定する。バッチジョブ実行システムは,これらの情報を指定してcjexecjobコマンドを呼び出し,Javaバッチアプリケーションを実行する。

表3‒54 ジョブ定義XMLファイルに指定する情報

要素

属性

指定する値

最大長

説明

EXEC

PGM

Javaアプリケーションクラス名(必須)

247文字

パッケージ名を含む,Javaアプリケーションのクラス名を指定する。

例: PGM="jp.co.Hitachi.MyBank.MyBatchJob"

LANG

"Java"(必須)

4文字

ジョブステップで実行するプログラムがJavaアプリケーションであることを示す。常に"Java"を指定する。

例: LANG="Java"

Group

スケジュールグループ名

63文字

ジョブスケジューリング機能で,CTMがバッチアプリケーションの実行をスケジューリングするときに割り当てるバッチサーバのグループを指定する。

例: Group="MyScheduleGroup"

Option

Javaオプション

1,023文字

Java VMに渡すオプションを指定する。次のオプションが指定できる。

-cp, -classpath: Javaアプリケーション実行時のクラスパスを指定する。

-D<name>=<value>: システムプロパティを指定する。

例: Option="-cp C:\mydir\hello.jar -DHELLO=WORLD"

PARM

mainメソッドに渡す引数

958文字

Javaアプリケーションのmainメソッドに渡す引数を指定する。

指定例を次に示す。

<EXEC PGM="jp.co.Hitachi.MyBank.MyJob" LANG="Java" Group="MyGroup" Option="-cp 
C:\mydir\hello.jar -DHello=World" PARM="myjob check_transaction" />

(2) DD要素

DD要素で指定した内容は,バッチジョブ実行システムによって-DオプションとしてJavaオプションに指定される。指定例を次に示す。

<DD NAME="WRITEDATA" TYPE="FILE" DSN="C:\myinfo\mydata.txt" DISP="OLD" />

ジョブ定義XMLファイル中のLANG="Java"のジョブステップで上記DD要素が定義された場合,バッチジョブ実行システムはNAME属性の指定値に"DDN_"を与えた文字列とDSN属性の指定値を,それぞれ次に示すように-Dオプションの<name>および<value>としてJavaオプションに設定する。指定例を次に示す。

-DDDN_WRITEDATA="C:\myinfo\mydata.txt"

これによって,Javaアプリケーション内で<name>の値をキーとして,DD要素に指定されたファイルのパス名を取得できる。指定例を次に示す。

     :
java.lang.String mystr;
mystr = System.getProperty("DDN_WRITEDATA");
 
// これによってmystrに"C:\myinfo\mydata.txt"が格納される。
     :

(3) バッチジョブ実行システムによるcjexecjobコマンドラインの構築内容

バッチジョブ実行システムは,ジョブ定義XMLファイルに指定されたJavaバッチアプリケーション用の属性値に基づいてcjexecjobコマンド用の引数を作成し,cjexecjobコマンドを呼び出す。

ジョブ定義XMLファイルでのJavaバッチアプリケーション用のXML属性の指定方法を次に示す。

<EXEC PGM="<Javaアプリケーションクラス名>" LANG="Java"
Group="<スケジュールグループ名>" Option="<Javaオプション>"
PARM="<mainメソッドに渡す引数>"/>
<DD NAME="<-Dオプションのname部分"DSN="<-Dオプションのvalue部分"/>

上記のXML定義ファイルを指定した場合,バッチジョブ実行システムは次のようにcjexecjobコマンドを呼び出す。

cjexecjob△<スケジュールグループ名>△-jobID△<ジョブID>△
<Javaオプション>△"-DDDN_<-Dオプションのname部分>=
<-Dオプションのvalue部分>"△"<Javaアプリケーションクラス名>"△
<mainメソッドに渡す引数>

構築例を次に示す。

<EXEC PGM="jp.co.Hitachi.MyBank.MyJob" LANG="Java"
Group="MyGroup" Option="-cp C:\mydir\hello.jar -DHello=World"
PARM='"myjob check_transaction"'/><DD NAME=" WRITEDATA"
DSN="C:\myinfo\mydata.txt" DISP="OLD"/>

上記のジョブ定義XMLを指定した場合,次のようなcjexecjobコマンドラインが構築される。

cjexecjob△MyGroup△-jobID△<BJEXが自動割り当てした29桁の英数字>
△-cp△C:\mydir\hello.jar△-DHello=World△
-DDDN_WRITEDATA=C:\myinfo\mydata.txt△"myjob check_transaction"

(4) Javaバッチアプリケーションに対するジョブIDの自動割り当て

ジョブスケジューリング機能を利用したJavaアプリケーションの実行には,ジョブIDの情報が必要となる。LANG="Java"指定のJavaバッチアプリケーションの実行ではバッチジョブ実行システムが,実行したJavaバッチアプリケーションを識別するために独自にジョブIDを割り当てる。その機能によって,ジョブステップごとにユニークなジョブIDを保証するため,Option属性にcjexecjobコマンドの"-jobID"オプションを指定しないこと。指定した場合,バッチジョブ実行システムからJavaバッチアプリケーションの強制停止はできない。バッチジョブ実行システムは,次の形式でジョブIDを作成してJavaアプリケーションに割り当てるため,運用でほかのJavaバッチアプリケーションと重複しないようにすること。Javaアプリケーションに対するジョブIDの割り当て形式を次の図に示す。

図3‒47 Javaアプリケーションに対するジョブIDの割り当て形式

[図データ]

Javaアプリケーションに対するジョブIDの割り当て形式の項目と内容を次の表に示す。

表3‒55 Javaアプリケーションに対するジョブIDの割り当て形式の項目と内容

項目

長さ

内容

BJEX

4桁

バッチジョブ実行システムが割り当てるジョブIDに自動的に与えられる。"BJEX"固定である。

ジョブ識別子

6桁

バッチジョブ実行システムがジョブごとに割り当てるジョブ識別子である。

ステップ番号

3桁

バッチジョブ実行システムが割り当てるジョブステップの通し番号である。

時刻情報

8桁

内部的な時刻識別用情報である。

ID

8桁

内部的な識別用IDである。

(5) 注意事項