目次 > 第2章 バッチフレームワークチュートリアル > 2.2 データベースアクセス機能を用いた単純なジョブ > 2.2.8 エラー処理の実装
2.2.8 エラー処理の実装
本節では、ビジネスロジックで発生するエラー処理の実装方法について説明する。
処理内容
2.2.5 ビジネスロジックの実装で実装したビジネスロジックを拡張する。
1.“取引日”が“運用日付”以降である場合、エラー処理を行い以降の処理を停止する。
設計情報例
ジョブ主処理定義例
手順
1. “DBBLogic.java”を修正
“取引日”が“運用日付”以降である場合エラーメッセージを出力し、リターンコード“ERROR_END”を設定した“BLogicResult”を返却する。
「2.2.5 ビジネスロジックの実装」の手順4で作成した“DBBLogic.java”を以下のように修正する。
/*
* Copyright (c) 2007 NTT DATA Corporation
*
*/
package jp.terasoluna.batch.tutorial.uc0001.jb0001;
・・・(略)・・・
public class DBBLogic implements BLogic<JB0001Data, JB0001JobContext> {
・・・(略)・・・
/**
* ビジネスロジックを実行する。
* @param nyukinData 入力パラメータ
* @param jobContext ジョブコンテキスト
*/
public BLogicResult execute(JB0001Data nyukinData,
JB0001JobContext jobContext) {
・・・(略)・・・
if (!torihikibi.before(unyohiduke)) {
//取引日 >= 運用日付 ならばメッセージを取得しログに出力する。
String[] args = {nyukinData.getKokyakuid()};
String message = messageAccessor.getMessage("msg.SampleMsg",args);
log.warn(message);
/*************** 追加部分(エラー処理を行い以降の処理を停止する) ***************/
//ビジネスロジック結果オブジェクトを返却する。
return new BLogicResult(ReturnCode.ERROR_END);
/************************************************************************/
}
・・・(略)・・・
return new BLogicResult(ReturnCode.NORMAL_CONTINUE);
}
・・・(略)・・・
}
2. ログの確認
ジョブを起動し、以下のコンソールログが出力されることを確認する。
デフォルト設定では“ERROR_END”が返却された場合、ジョブ終了コードは“100”となる。
[DEBUG] start Batch ... [WARN ] 顧客ID"034"の取引日が運用日付以降です。 ... [INFO ] Job processing END : [jobId=JB0001] [jobRequestNo=] [StartType=SYNC] [jobExitCode=100]
備考
ジョブの起動方法については「2.2.7 起動と確認」を参照のこと。
3. データの確認
- “残高テーブル”を参照し、“顧客ID”が“034”以降のデータが更新および追加されていないことを確認する。
- “残高履歴テーブル”を参照し、レコードが追加されていないことを確認する。
参考資料
- 『BD-01 ビジネスロジック実行機能』