org.seasar.extension.tx
クラス RequiresNewInterceptor

java.lang.Object
  拡張org.seasar.extension.tx.AbstractTxInterceptor
      拡張org.seasar.extension.tx.RequiresNewInterceptor
すべての実装インタフェース:
Advice, Interceptor, MethodInterceptor

public class RequiresNewInterceptor
extends AbstractTxInterceptor

新しいトランザクションを要求するメソッドのためのインターセプタです。

このインターセプタが適用されたメソッドが呼び出された際に、新しいトランザクションが開始されます。 既にトランザクションが開始されていた場合、そのトランザクションは中断されます。 中断されたトランザクションは、メソッドが終了した後に再開されます。

このインターセプタが適用されたメソッドが例外をスローした場合は、例外の種類に応じてトランザクションがロールバックされるようにマークします。 デフォルトでは、全ての例外に対してロールバックされるようにマークします。この設定は AbstractTxInterceptor.addCommitRule(Class) および AbstractTxInterceptor.addRollbackRule(Class) によって変更することができます。

このインターセプタが適用されたメソッドがメソッドが終了 (正常終了した場合および例外をスローした場合の両方) すると、開始したトランザクションを完了 (コミットまたはロールバック) します。 トランザクションがロールバックするようにマークされていれば、トランザクションをロールバックします。 そうでなければ、トランザクションをコミットします。

作成者:
higa

フィールドの概要
 
クラス org.seasar.extension.tx.AbstractTxInterceptor から継承したフィールド
transactionManagerAdapter, txRules
 
コンストラクタの概要
RequiresNewInterceptor()
          インスタンスを構築します。
 
メソッドの概要
 java.lang.Object invoke(MethodInvocation invocation)
           
 
クラス org.seasar.extension.tx.AbstractTxInterceptor から継承したメソッド
addCommitRule, addRollbackRule, setTransactionControl
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

RequiresNewInterceptor

public RequiresNewInterceptor()
インスタンスを構築します。

メソッドの詳細

invoke

public java.lang.Object invoke(MethodInvocation invocation)
                        throws java.lang.Throwable
例外:
java.lang.Throwable


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.