目次 > 第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); /*************** 追加部分(エラー処理を行い以降の処理を停止する) ***************/ //ビジネスロジック結果オブジェクトを返却する。 BLogicResult result = new BLogicResult(ReturnCode.ERROR_END); return result; /************************************************************************/ } ・・・(略)・・・ return result; } ・・・(略)・・・ }
2. ログの確認
ジョブを起動し、以下のコンソールログが出力されることを確認する。
デフォルト設定では“ERROR_END”が返却された場合、ジョブ終了コードは“1”となる。
[DEBUG] start Batch ... [WARN ] 顧客ID"034"の取引日が運用日付以降です。 ... [DEBUG] 【 END 】 [jobId=JB0001] [jobRequestNo=] [StartType=SYNC] [jobExitCode=1]
備考
ジョブの起動方法については「2.2.7 起動と確認」を参照のこと。
3. データの確認
- “残高テーブル”を参照し、“顧客ID”が“034”以降のデータが更新および追加されていないことを確認する。
- “残高履歴テーブル”を参照し、レコードが追加されていないことを確認する。
参考資料
- 『BD-01 ビジネスロジック実行機能』