Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


11.3 前提環境

Java Batch標準仕様では,Java Batchのジョブの実行状態を永続化するために,「ジョブリポジトリ」と呼ばれるデータベースが必要となります。ジョブの実行ごとに,実行状態や実行結果などをジョブリポジトリに書き込むことで,ジョブの実行状態や実行結果をあとから確認したり,J2EEサーバを再起動後でも停止したジョブおよび失敗したジョブを再開させたりできます。

アプリケーションサーバのJava Batch 1.0では,ジョブリポジトリの永続化DBMSとして,HiRDB Version 10であることが前提となります。

ジョブリポジトリを更新するためのトランザクションと,ジョブ内で処理される業務のトランザクションは一貫性を保つ必要があります。そのため,ジョブリポジトリのデータソースと,ジョブ内の業務で使用するデータソースは,ともにXAデータソースを使用し,グローバルトランザクションである必要があります。

ジョブリポジトリはJobOperator取得前にHiRDB SQL Executerを使用して作成する必要があります。作成時に実行するSQLは「11.10 SQLファイル」を参照してください。アプリケーションの開発用途に限りジョブリポジトリの自動生成機能を使用できます。ただし,使用できるアプリケーションや環境に条件があります。詳細は「11.5 ジョブリポジトリの設定」を参照してください。

ジョブリポジトリに指定するパラメタのサイズ,およびジョブステップ間で受け渡すデータのサイズは64KB以下になるよう設計してください。64KBより大きな値を格納した場合,バッチジョブの実行元にJobStartExceptionがスローされ,例外ログに原因となったSQLExceptionを含むスタックトレースが出力されます。HiRDBで使用するテーブル情報は,「11.10.1 Java Batchのデータベーステーブル」を参照してください。

また,サポートするデータベース以外をジョブリポジトリに指定してバッチジョブを実行した場合,KDJE60519-Eをメッセージログに出力し,バッチジョブ実行元にはジョブリポジトリに接続できなかった場合と同様に,IllegalStateExceptionがスローされます。