Class TransactionExecutor<T>

java.lang.Object
nablarch.core.transaction.TransactionExecutor<T>
Type Parameters:
T - トランザクション処理からの戻り型

@Published(tag="architect") public abstract class TransactionExecutor<T> extends Object
トランザクション制御ロジックを持つ抽象クラス。

本クラスを使用することにより、簡単にトランザクション制御ロジックを実装することが出来る。 また、エラー処理時に再度エラーが発生した場合のログ出力の責務を本クラスが持つため、 本クラスを実装したクラスではトランザクション制御以外の部分に着目する必要がなくなる。

Author:
hisaaki sioiri
  • Constructor Details

    • TransactionExecutor

      public TransactionExecutor(Transaction transaction)
      トランザクション制御オブジェクトを生成する。
      Parameters:
      transaction - トランザクション
  • Method Details

    • execute

      public final T execute()
      トランザクションを実行する。

      doInTransaction(Transaction)を呼び出しトランザクション制御を行う。

      Returns:
      処理結果
    • onError

      protected void onError(Transaction transaction, Throwable throwable)
      エラー時の処理を行う。

      本メソッドではトランザクションのロールバックのみを行う。 ロールバック以外の処理を必要とする場合には、本メソッドをオーバライドすること。

      Parameters:
      transaction - トランザクション
      throwable - 発生した例外
    • doInTransaction

      protected abstract T doInTransaction(Transaction transaction)
      トランザクション内で実行する処理を実装する。

      必要がある場合は、本メソッド内でトランザクション制御を行っても良い。

      Parameters:
      transaction - トランザクションオブジェクト
      Returns:
      処理結果