パッケージ jakarta.resource.spi

インターフェース XATerminator


public interface XATerminator

XATerminator インターフェースは、トランザクションの完了とクラッシュの回復フローに使用されます。

バージョン:
1.0
作成者:
Ram Jeyaraman
  • 方法の概要

    修飾子と型
    メソッド
    説明
    void
    commit(XidSE xid, boolean onePhase)
    xid で指定されたグローバルトランザクションをコミットします。
    void
    ヒューリスティックに完了したトランザクションブランチを忘れるようにリソースマネージャーに指示します。
    int
    xid で指定されたトランザクションのトランザクションコミットの準備をするようにリソースマネージャーに依頼します。
    recover(int flag)
    準備されたトランザクションブランチのリストをリソースマネージャーから取得します。
    void
    トランザクションブランチに代わって実行された作業をロールバックするようにリソースマネージャーに通知します。
  • 方法の詳細

    • commit

      void commit(XidSE xid, boolean onePhase) throws XAExceptionSE
      xid で指定されたグローバルトランザクションをコミットします。
      パラメーター:
      xid - グローバルトランザクション識別子
      onePhase - true の場合、リソースマネージャーは、1 フェーズコミットプロトコルを使用して、xid に代わって実行された作業をコミットする必要があります。
      例外:
      XAExceptionSE - エラーが発生しました。考えられる XAException は、XA_HEURHAZ、XA_HEURCOM、XA_HEURRB、XA_HEURMIX、XAER_RMERR、XAER_RMFAIL、XAER_NOTA、XAER_INVAL、XAER_PROTO です。

      リソースマネージャーがトランザクションをコミットしておらず、パラメーター onePhase が true に設定されている場合、リソースマネージャーは XA_RB* 例外の 1 つをスローする可能性があります。戻ると、リソースマネージャーは ブランチの作業をロールバックし、保持されているすべてのリソースを解放します。

    • forget

      void forget(XidSE xid) throws XAExceptionSE
      ヒューリスティックに完了したトランザクションブランチを忘れるようにリソースマネージャーに指示します。
      パラメーター:
      xid - グローバルトランザクション識別子。
      例外:
      XAExceptionSE - エラーが発生しました。可能な例外値は、XAER_RMERR、XAER_RMFAIL、XAER_NOTA、XAER_INVAL、XAER_PROTO です。
    • prepare

      int prepare(XidSE xid) throws XAExceptionSE
      xid で指定されたトランザクションのトランザクションコミットの準備をするようにリソースマネージャーに依頼します。
      パラメーター:
      xid - グローバルトランザクション識別子。
      戻り値:
      トランザクションの結果に対するリソースマネージャーの投票を示す値。可能な値は、XA_RDONLY または XA_OK です。これらの定数は、 javax.transaction.xa.XAResource インターフェースで定義されています。リソースマネージャーがトランザクションをロールバックする場合は、prepare メソッドで適切な XAException を発生させる必要があります。
      例外:
      XAExceptionSE - エラーが発生しました。考えられる例外値は、XA_RB *、XAER_RMERR、XAER_RMFAIL、XAER_NOTA、XAER_INVAL、XAER_PROTO です。
    • recover

      XidSE[] recover(int flag) throws XAExceptionSE
      準備されたトランザクションブランチのリストをリソースマネージャーから取得します。トランザクションマネージャーは、リカバリ中にこのメソッドを呼び出して、現在準備済みまたはヒューリスティックに完了した状態にあるトランザクションブランチのリストを取得します。
      パラメーター:
      flag - TMSTARTRSCAN、TMENDRSCAN、TMNOFLAGS のいずれか。パラメーターに他のフラグが設定されていない場合は、TMNOFLAGS を使用する必要があります。これらの定数は、javax.transaction.xa.XAResource インターフェースで定義されています。
      戻り値:
      リソースマネージャーは、現在準備済みまたはヒューリスティックに完了した状態にあるトランザクションブランチの 0 個以上の XID を返します。操作中にエラーが発生した場合、リソースマネージャーは適切な XAException をスローする必要があります。
      例外:
      XAExceptionSE - エラーが発生しました。可能な値は、XAER_RMERR、XAER_RMFAIL、XAER_INVAL、XAER_PROTO です。
    • rollback

      void rollback(XidSE xid) throws XAExceptionSE
      トランザクションブランチに代わって実行された作業をロールバックするようにリソースマネージャーに通知します。
      パラメーター:
      xid - グローバルトランザクション識別子。
      例外:
      XAExceptionSE - エラーが発生しました。考えられる XAException は、XA_HEURHAZ、XA_HEURCOM、XA_HEURRB、XA_HEURMIX、XAER_RMERR、XAER_RMFAIL、XAER_NOTA、XAER_INVAL、XAER_PROTO です。

      トランザクションブランチがすでにロールバックとしてマークされている場合、リソースマネージャーのみが XA_RB * 例外の 1 つをスローできます。戻ったとき、リソースマネージャーはブランチの作業をロールバックし、保持されているすべてのリソースを解放しました。