目次 > 第2章 バッチフレームワークチュートリアル > 2.2 データベースアクセス機能を用いた単純なジョブ > 2.2.8 エラー処理の実装

2.2.8 エラー処理の実装

本節では、ビジネスロジックで発生するエラー処理の実装方法について説明する。

処理内容

2.2.5 ビジネスロジックの実装で実装したビジネスロジックを拡張する。

2.2.8 エラー処理の実装

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. データの確認

  1. “残高テーブル”を参照し、“顧客ID”が“034”以降のデータが更新および追加されていないことを確認する。
  2. “残高履歴テーブル”を参照し、レコードが追加されていないことを確認する。
参考資料
  • 『BD-01 ビジネスロジック実行機能』

次節:2.3 ファイルアクセス機能を用いた単純なジョブ

Copyright (C) 2007 NTT DATA CORPORATION