org.seasar.framework.ejb.tx
クラス EJB3RequiresNewInterceptor

java.lang.Object
  上位を拡張 org.seasar.extension.tx.AbstractTxInterceptor
      上位を拡張 org.seasar.framework.ejb.tx.AbstractEJB3TxInterceptor
          上位を拡張 org.seasar.framework.ejb.tx.EJB3RequiresNewInterceptor
すべての実装されたインタフェース:
Advice, Interceptor, MethodInterceptor

public class EJB3RequiresNewInterceptor
extends AbstractEJB3TxInterceptor

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

このインターセプタが適用されたメソッドが呼び出された際に、新しいトランザクションが開始されます。 メソッドが終了 (例外をスローした場合も) した後、開始したトランザクションは完了 (コミットまたはロールバック) されます。
メソッドが呼び出された際に、既にトランザクションが開始されていた場合、そのトランザクションは中断されます。 中断されたトランザクションは、メソッドが終了した後に再開されます。

作成者:
koichik

フィールドの概要
 
クラス org.seasar.extension.tx.AbstractTxInterceptor から継承されたフィールド
transactionManager_BINDING, userTransaction_BINDING
 
コンストラクタの概要
EJB3RequiresNewInterceptor()
          インスタンスを構築します。
 
メソッドの概要
 Object invoke(MethodInvocation invocation)
           
protected  Transaction suspendIfNecessary()
          トランザクションが開始されていれば中断します。
 
クラス org.seasar.framework.ejb.tx.AbstractEJB3TxInterceptor から継承されたメソッド
isRollingBack
 
クラス org.seasar.extension.tx.AbstractTxInterceptor から継承されたメソッド
addCommitRule, addRollbackRule, begin, complete, end, getTransactionManager, getUserTransaction, hasTransaction, resume, rollback, setTransactionManager, setUserTransaction, suspend
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

EJB3RequiresNewInterceptor

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

メソッドの詳細

invoke

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

suspendIfNecessary

protected Transaction suspendIfNecessary()
                                  throws SystemException
トランザクションが開始されていれば中断します。

戻り値:
中断されたトランザクション
例外:
SystemException - トランザクションマネージャで例外が発生した場合にスローされます


Copyright © 2005-2007 The Seasar Foundation. All Rights Reserved.