ページの先頭行へ戻る
Interstage Business Application Server オープンJavaフレームワークユーザーズガイド Java EE 7編
FUJITSU Software

4.7.1 JobRepository

JobRepositoryはJobLauncher、Job、Stepの実行状況や実行結果を永続化する機能です。JobRepositoryを定義するためには、JobRepositoryID、使用するデータデータソース、使用するデータソースに使用するトランザクションマネージャの設定が必要です。

JobRepositoryにて必要となるテーブルについては、公式リファレンスの“Appendix B. Meta-Data Schema”を参照して作成してください。JobRepositoryに使用するテーブルは、Jobを実行する前に作成してください。

JobRepositoryの定義を以下に示します。

設定ファイル(context.xml):

<!-- トランザクションマネージャ定義 -->
<bean id="jdbcTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="jobRepository_DataSource" />
</bean>
<!-- データソース定義 -->
<bean id="jobRepository_DataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
</bean>
<!-- JobRepository定義 -->
<batch:job-repository 
  id="testJobRepository"
  transaction-manager="jobRepository_TransactionManager"
  data-source="jobRepository_DataSource" />

4.7.1.1 JobRepositoryの活用

JobRepositoryの以下のテーブルは、Job実行後の問題の特定や解決のために使用します。

EXECUTIONテーブルには、開始時刻、終了時刻、終了ステータスやエラー発生時のエラーメッセージなどの情報が格納されます。開始時刻、終了時刻、終了ステータスから問題の発生したJob、Stepを特定し、格納されているエラーメッセージを元に問題を修正して、Jobを再実行してください。

■BATCH_JOB_EXECUTIONテーブル

フィールド名

概要

JOB_EXECUTION_ID

JobIDです。

CREATE_TIME

Jobの作成時刻です。

START_TIME

Jobの開始時刻です。

END_TIME

Jobの終了時刻です。

STATUS

Jobの実行状態です。

EXIT_CODE

Jobの終了コードが格納されます。

EXIT_MESSAGE

Jobのメッセージが格納されます。

LAST_UPDATED

Jobが最後に更新された時刻です。

■BATCH_STEP_EXECUTIONテーブル

フィールド名

概要

STEP_EXECUTION_ID

StepIDです。

STEP_NAME

Step名です。

JOB_EXECUTION_ID

BATCH_JOB_EXECUTIONテーブルの外部キーです。

START_TIME

Stepの開始時刻です。

END_TIME

Stepの終了時刻です。

STATUS

Stepの実行状態です。

COMMIT_COUNT

コミットした回数です。

READ_COUNT

ItemReaderで取得したアイテム数です。

FILTER_COUNT

ItemProcessorで除外したアイテム数です。

WRITE_COUNT

ItemWriterでコミットしたアイテム数です。

EXIT_CODE

Stepの終了コードです。

EXIT_MESSAGE

Stepのメッセージが格納されます。

LAST_UPDATED

Stepが最後に更新された時刻です。