パッケージ jakarta.transaction

インターフェース TransactionManager


  • public interface TransactionManager
    TransactionManager インターフェースは、アプリケーションサーバーがトランザクション境界を管理できるようにするメソッドを定義します。
    バージョン:
    Jakarta Transactions 2.0
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      voidbegin()
      新しいトランザクションを作成し、それを現在のスレッドに関連付けます。
      voidcommit()
      現在のスレッドに関連付けられているトランザクションを完了します。
      intgetStatus()
      現在のスレッドに関連付けられているトランザクションのステータスを取得します。
      TransactiongetTransaction()
      呼び出しスレッドのトランザクションコンテキストを表すトランザクションオブジェクトを取得します。
      voidresume​(Transaction tobj)
      提供された Transaction オブジェクトによって表されるトランザクションと呼び出しスレッドのトランザクションコンテキストの関連付けを再開します。
      voidrollback()
      現在のスレッドに関連付けられているトランザクションをロールバックします。
      voidsetRollbackOnly()
      現在のスレッドに関連付けられているトランザクションを変更して、トランザクションの唯一の可能な結果がトランザクションのロールバックになるようにします。
      voidsetTransactionTimeout​(int seconds)
      begin メソッドを使用して、現在のスレッドによって開始されたトランザクションに関連付けられているタイムアウト値を変更します。
      Transactionsuspend()
      呼び出しスレッドに現在関連付けられているトランザクションを中断し、中断されているトランザクションコンテキストを表す Transaction オブジェクトを返します。
    • メソッドの詳細

      • begin

        void begin()
            throws NotSupportedException,
                   SystemException
        新しいトランザクションを作成し、それを現在のスレッドに関連付けます。
        例外:
        NotSupportedException - スレッドがすでにトランザクションに関連付けられており、TransactionManager の実装がネストされたトランザクションをサポートしていない場合にスローされます。
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • commit

        void commit()
             throws RollbackException,
                    HeuristicMixedException,
                    HeuristicRollbackException,
                    SecurityExceptionSE,
                    IllegalStateExceptionSE,
                    SystemException
        現在のスレッドに関連付けられているトランザクションを完了します。このメソッドが完了すると、スレッドはトランザクションに関連付けられなくなります。
        例外:
        RollbackException - トランザクションがコミットではなくロールバックされたことを示すためにスローされます。
        HeuristicMixedException - ヒューリスティックな決定が行われたこと、および一部の関連する更新がコミットされ、他のロールバックが行われたことを示すためにスローされます。
        HeuristicRollbackException - ヒューリスティックな決定が行われ、関連するすべての更新がロールバックされたことを示すためにスローされます。
        SecurityExceptionSE - スレッドがトランザクションのコミットを許可されていないことを示すためにスローされます。
        IllegalStateExceptionSE - 現在のスレッドがトランザクションに関連付けられていない場合にスローされます。
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • getStatus

        int getStatus()
               throws SystemException
        現在のスレッドに関連付けられているトランザクションのステータスを取得します。
        戻り値:
        トランザクションステータス。現在のスレッドにトランザクションが関連付けられていない場合、このメソッドは Status.NoTransaction 値を返します。
        例外:
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • getTransaction

        Transaction getTransaction()
                            throws SystemException
        呼び出しスレッドのトランザクションコンテキストを表すトランザクションオブジェクトを取得します。
        戻り値:
        呼び出し元のスレッドに関連付けられたトランザクションを表す Transaction オブジェクト。
        例外:
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • resume

        void resume​(Transaction tobj)
             throws InvalidTransactionException,
                    IllegalStateExceptionSE,
                    SystemException
        呼び出し元のスレッドと、指定された Transaction オブジェクトによって表されるトランザクションとのトランザクションコンテキストの関連付けを再開します。このメソッドが戻ると、呼び出し元のスレッドは指定されたトランザクションコンテキストに関連付けられます。
        パラメーター:
        tobj - 再開されるトランザクションを表す Transaction オブジェクト。
        例外:
        InvalidTransactionException - パラメーター transaction オブジェクトに無効なトランザクションが含まれている場合にスローされます。
        IllegalStateExceptionSE - スレッドがすでに別のトランザクションに関連付けられている場合にスローされます。
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • rollback

        void rollback()
               throws IllegalStateExceptionSE,
                      SecurityExceptionSE,
                      SystemException
        現在のスレッドに関連付けられているトランザクションをロールバックします。このメソッドが完了すると、スレッドはトランザクションに関連付けられなくなります。
        例外:
        SecurityExceptionSE - スレッドがトランザクションのロールバックを許可されていないことを示すためにスローされます。
        IllegalStateExceptionSE - 現在のスレッドがトランザクションに関連付けられていない場合にスローされます。
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • setRollbackOnly

        void setRollbackOnly()
                      throws IllegalStateExceptionSE,
                             SystemException
        現在のスレッドに関連付けられているトランザクションを変更して、トランザクションの唯一の可能な結果がトランザクションのロールバックになるようにします。
        例外:
        IllegalStateExceptionSE - 現在のスレッドがトランザクションに関連付けられていない場合にスローされます。
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • setTransactionTimeout

        void setTransactionTimeout​(int seconds)
                            throws SystemException
        begin メソッドを使用して、現在のスレッドによって開始されたトランザクションに関連付けられているタイムアウト値を変更します。

        アプリケーションがこのメソッドを呼び出さなかった場合、トランザクションサービスはトランザクションタイムアウトにデフォルト値を使用します。

        パラメーター:
        seconds - タイムアウトの値(秒単位)。値がゼロの場合、トランザクションサービスはデフォルト値を復元します。値が負の場合、SystemException がスローされます。
        例外:
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。
      • suspend

        Transaction suspend()
                     throws SystemException
        呼び出し元のスレッドに現在関連付けられているトランザクションを一時停止し、一時停止されているトランザクションコンテキストを表す Transaction オブジェクトを返します。呼び出し元のスレッドがトランザクションに関連付けられていない場合、メソッドは null オブジェクト参照を返します。このメソッドが戻ると、呼び出し元のスレッドはトランザクションに関連付けられていません。
        戻り値:
        一時停止されたトランザクションを表すトランザクションオブジェクト。
        例外:
        SystemException - トランザクションマネージャーが予期しないエラー条件を検出した場合にスローされます。