org.seasar.extension.tx
クラス AbstractTxInterceptor

java.lang.Object
  拡張org.seasar.extension.tx.AbstractTxInterceptor
すべての実装インタフェース:
Advice, Interceptor, MethodInterceptor
直系の既知のサブクラス:
MandatoryInterceptor, NeverInterceptor, NotSupportedInterceptor, RequiredInterceptor, RequiresNewInterceptor

public abstract class AbstractTxInterceptor
extends Object
implements MethodInterceptor

宣言的トランザクションのための抽象クラスです。

作成者:
higa

フィールドの概要
static String transactionManager_BINDING
          transactionManagerプロパティのバインディング定義です。
static String userTransaction_BINDING
          userTransactionプロパティのバインディング定義です。
 
コンストラクタの概要
AbstractTxInterceptor()
          インスタンスを構築します。
 
メソッドの概要
 void addCommitRule(Class exceptionClass)
          例外が発生した場合にトランザクションをコミットするルールを追加します。
 void addRollbackRule(Class exceptionClass)
          例外が発生した場合にトランザクションをロールバックするルールを追加します。
 void begin()
          トランザクションを開始します。
 boolean complete(Throwable throwable)
          例外が発生した場合にトランザクションをコミットまたはロールバックします。
 void end()
          トランザクションをコミットまたはロールバックします。
 TransactionManager getTransactionManager()
          トランザクションマネージャを返します。
 UserTransaction getUserTransaction()
          ユーザトランザクションを返します。
 boolean hasTransaction()
          現在のスレッド上でトランザクションがアクティブな場合はtrueを、それ以外の場合はfalseを返します。
 void resume(Transaction transaction)
          トランザクションを再開します。
 void rollback()
          トランザクションをロールバックします。
 void setTransactionManager(TransactionManager transactionManager)
          トランザクションマネージャを設定します。
 void setUserTransaction(UserTransaction userTransaction)
          ユーザトランザクションを設定します。
 Transaction suspend()
          トランザクションを中断します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.aopalliance.intercept.MethodInterceptor から継承したメソッド
invoke
 

フィールドの詳細

userTransaction_BINDING

public static final String userTransaction_BINDING
userTransactionプロパティのバインディング定義です。

関連項目:
定数フィールド値

transactionManager_BINDING

public static final String transactionManager_BINDING
transactionManagerプロパティのバインディング定義です。

関連項目:
定数フィールド値
コンストラクタの詳細

AbstractTxInterceptor

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

メソッドの詳細

getUserTransaction

public final UserTransaction getUserTransaction()
ユーザトランザクションを返します。

戻り値:
ユーザトランザクション

setUserTransaction

public void setUserTransaction(UserTransaction userTransaction)
ユーザトランザクションを設定します。

パラメータ:
userTransaction - ユーザトランザクション

getTransactionManager

public TransactionManager getTransactionManager()
トランザクションマネージャを返します。

戻り値:
トランザクションマネージャ

setTransactionManager

public void setTransactionManager(TransactionManager transactionManager)
トランザクションマネージャを設定します。

パラメータ:
transactionManager - トランザクションマネージャ

hasTransaction

public boolean hasTransaction()
                       throws SystemException
現在のスレッド上でトランザクションがアクティブな場合はtrueを、それ以外の場合はfalseを返します。

戻り値:
現在のスレッド上でトランザクションがアクティブな場合はtrue
例外:
SystemException - トランザクションマネージャで例外が発生した場合にスローされます
関連項目:
UserTransaction.getStatus()

begin

public void begin()
           throws NotSupportedException,
                  SystemException
トランザクションを開始します。

例外:
NotSupportedException - トランザクションマネージャで例外が発生した場合にスローされます
SystemException - トランザクションマネージャで例外が発生した場合にスローされます
関連項目:
UserTransaction.begin()

end

public void end()
         throws SecurityException,
                IllegalStateException,
                RollbackException,
                HeuristicMixedException,
                HeuristicRollbackException,
                SystemException
トランザクションをコミットまたはロールバックします。

現在のスレッドに関連づけられているトランザクションがアクティブな場合は、 トランザクションをコミットします。 それ以外の場合はトランザクションをロールバックします。

例外:
SecurityException - トランザクションマネージャで例外が発生した場合にスローされます
IllegalStateException - トランザクションマネージャで例外が発生した場合にスローされます
RollbackException - トランザクションマネージャで例外が発生した場合にスローされます
HeuristicMixedException - トランザクションマネージャで例外が発生した場合にスローされます
HeuristicRollbackException - トランザクションマネージャで例外が発生した場合にスローされます
SystemException - トランザクションマネージャで例外が発生した場合にスローされます
関連項目:
UserTransaction.commit(), UserTransaction.rollback()

rollback

public void rollback()
              throws IllegalStateException,
                     SecurityException,
                     SystemException
トランザクションをロールバックします。

例外:
IllegalStateException - トランザクションマネージャで例外が発生した場合にスローされます
SecurityException - トランザクションマネージャで例外が発生した場合にスローされます
SystemException - トランザクションマネージャで例外が発生した場合にスローされます
関連項目:
UserTransaction.rollback()

suspend

public Transaction suspend()
                    throws SystemException
トランザクションを中断します。

このメソッドが呼び出されるには、 トランザクションマネージャが 設定されていなくてはなりません。

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

resume

public void resume(Transaction transaction)
            throws InvalidTransactionException,
                   IllegalStateException,
                   SystemException
トランザクションを再開します。

このメソッドが呼び出されるには、 トランザクションマネージャが 設定されていなくてはなりません。

パラメータ:
transaction - 再開するトランザクション
例外:
InvalidTransactionException - トランザクションマネージャで例外が発生した場合にスローされます
IllegalStateException - トランザクションマネージャで例外が発生した場合にスローされます
SystemException - トランザクションマネージャで例外が発生した場合にスローされます
関連項目:
TransactionManager.resume(Transaction)

complete

public boolean complete(Throwable throwable)
                 throws SecurityException,
                        IllegalStateException,
                        RollbackException,
                        HeuristicMixedException,
                        HeuristicRollbackException,
                        SystemException
例外が発生した場合にトランザクションをコミットまたはロールバックします。

発生した例外がコミットまたはロールバックルールに登録されている場合はルールに従ってトランザクションをコミットまたはロールバックします。 ルールに登録されていない場合はトランザクションをロールバックします。

パラメータ:
throwable - 発生した例外
戻り値:
トランザクションがコミットした場合はtrue、それ以外の場合はfalse
例外:
SecurityException - トランザクションマネージャで例外が発生した場合にスローされます
IllegalStateException - トランザクションマネージャで例外が発生した場合にスローされます
RollbackException - トランザクションマネージャで例外が発生した場合にスローされます
HeuristicMixedException - トランザクションマネージャで例外が発生した場合にスローされます
HeuristicRollbackException - トランザクションマネージャで例外が発生した場合にスローされます
SystemException - トランザクションマネージャで例外が発生した場合にスローされます

addCommitRule

public void addCommitRule(Class exceptionClass)
例外が発生した場合にトランザクションをコミットするルールを追加します。

パラメータ:
exceptionClass - 例外クラス

addRollbackRule

public void addRollbackRule(Class exceptionClass)
例外が発生した場合にトランザクションをロールバックするルールを追加します。

パラメータ:
exceptionClass - 例外クラス


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