Class BatchActionBase<D>

java.lang.Object
nablarch.core.db.support.DbAccessSupport
nablarch.fw.action.BatchActionBase<D>
Type Parameters:
D - 本タスクが処理する入力データの型
All Implemented Interfaces:
ExecutionHandlerCallback<CommandLine,Result>, TransactionEventCallback<D>
Direct Known Subclasses:
BatchAction, FileBatchActionBase

public abstract class BatchActionBase<D> extends DbAccessSupport implements ExecutionHandlerCallback<CommandLine,Result>, TransactionEventCallback<D>
バッチ処理方式において、業務処理が継承する抽象基底クラス。

このクラスには、ExecutionHandlerCallbackインタフェースに関するNOP実装が与えられており、 必要に応じてオーバーライドできるようになっている。

Author:
Iwauo Tajima
  • Constructor Details

    • BatchActionBase

      public BatchActionBase()
  • Method Details

    • initialize

      @Published protected void initialize(CommandLine command, ExecutionContext context)
      実行管理ハンドラ(nablarch.fw.handler.ExecutionHandler<TData,TResult,TSelf extends nablarch.fw.handler.ExecutionHandler>)の本処理開始前に一度だけ実行される。

      デフォルトでは何もしない。 必要に応じてオーバライドすること。

      Parameters:
      command - 起動コマンドライン
      context - 実行コンテキスト
    • error

      @Published protected void error(Throwable error, ExecutionContext context)
      実行時例外/エラーの発生によって本処理が終了した場合に一度だけ実行される。

      デフォルトでは何もしない。 必要に応じてオーバライドすること。

      Parameters:
      error - 本処理で発生した実行時例外/エラー
      context - 実行コンテキスト
    • terminate

      @Published protected void terminate(Result result, ExecutionContext context)
      本処理が終了した場合に一度だけ実行される。 (エラー終了した場合でも実行される。)

      デフォルトでは何もしない。 必要に応じてオーバライドすること。

      Parameters:
      result - 本処理の実行結果
      context - 実行コンテキスト
    • transactionSuccess

      @Published protected void transactionSuccess(D inputData, ExecutionContext context)
      トランザクション処理が正常終了した場合に実行される。

      デフォルトでは何もしない。 必要に応じてオーバライドすること。

      Parameters:
      inputData - 入力データ
      context - 実行コンテキスト
    • transactionFailure

      @Published protected void transactionFailure(D inputData, ExecutionContext context)
      トランザクション処理が異常終了した場合に実行される。

      デフォルトでは何もしない。 必要に応じてオーバライドすること。

      Parameters:
      inputData - 入力データ
      context - 実行コンテキスト
    • writeLog

      @Published protected void writeLog(String msgId, Object... msgOptions)
      INFOレベルでログ出力を行う。
      Parameters:
      msgId - メッセージID
      msgOptions - メッセージIDから取得したメッセージに埋め込む値
    • writeErrorLog

      @Published protected void writeErrorLog(Object data, String failureCode, Object... msgOptions)
      ERRORレベルで障害ログ出力を行う。

      障害ログは、障害通知ログと障害解析ログの2種類に分けて出力される。

      Parameters:
      data - 処理対象データ
      failureCode - 障害コード(メッセージID)
      msgOptions - 障害コードから取得したメッセージに埋め込む値
    • writeFatalLog

      @Published protected void writeFatalLog(Object data, String failureCode, Object... msgOptions)
      FATALレベルで障害ログ出力を行う。

      障害ログは、障害通知ログと障害解析ログの2種類に分けて出力される。

      Parameters:
      data - 処理対象データ
      failureCode - 障害コード(メッセージID)
      msgOptions - 障害コードから取得したメッセージに埋め込む値
    • preExecution

      @Published(tag="architect") public final void preExecution(CommandLine commandLine, ExecutionContext context)
      Description copied from interface: ExecutionHandlerCallback
      実行制御ハンドラが後続処理を実行する前にコールバックされる。 一括処理実行前に、なんらかの初期処理を行う場合に実装する。
      Specified by:
      preExecution in interface ExecutionHandlerCallback<CommandLine,Result>
      Parameters:
      commandLine - 入力データ
      context - 実行コンテキスト
    • errorInExecution

      @Published(tag="architect") public final void errorInExecution(Throwable error, ExecutionContext context)
      Description copied from interface: ExecutionHandlerCallback
      実行制御ハンドラが後続処理を実行した後、 後続のハンドラでエラーが発生した場合に呼ばれる。
      Specified by:
      errorInExecution in interface ExecutionHandlerCallback<CommandLine,Result>
      Parameters:
      error - 後続ハンドラの処理中に発生した実行時例外/エラー
      context - 実行コンテキスト
    • postExecution

      @Published(tag="architect") public final void postExecution(Result result, ExecutionContext context)
      Description copied from interface: ExecutionHandlerCallback
      実行制御ハンドラが後続処理を実行した後、正常、異常終了を問わず 処理が全て完了した直後に呼ばれる。 すなわち、正常終了時には、 の後、異常終了時には ExecutionHandlerCallback.errorInExecution(Throwable, ExecutionContext) の後で本メソッドが呼ばれる。
      Specified by:
      postExecution in interface ExecutionHandlerCallback<CommandLine,Result>
      Parameters:
      result - ハンドラの戻り値となるオブジェクト
      context - 実行コンテキスト
    • transactionNormalEnd

      @Published(tag="architect") public void transactionNormalEnd(D data, ExecutionContext ctx)
      Description copied from interface: TransactionEventCallback
      入力データに対する処理が正常に処理された場合に呼ばれる。
      Specified by:
      transactionNormalEnd in interface TransactionEventCallback<D>
      Parameters:
      data - 入力データ
      ctx - 実行コンテキスト
    • transactionAbnormalEnd

      @Published(tag="architect") public void transactionAbnormalEnd(Throwable e, D data, ExecutionContext ctx)
      Description copied from interface: TransactionEventCallback
      入力データに対する処理で異常が発生した場合に呼ばれる。
      Specified by:
      transactionAbnormalEnd in interface TransactionEventCallback<D>
      Parameters:
      e - 発生したエラー
      data - 入力データ
      ctx - 実行コンテキスト