パッケージ jakarta.resource.spi
インターフェース XATerminator
public interface XATerminator
XATerminator インターフェースは、トランザクションの補完とクラッシュの回復フローに使用されます。
- バージョン:
- 1.0
- 作成者:
- Ram Jeyaraman
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 void
commit(XidSE xid, boolean onePhase)
xid で指定されたグローバルトランザクションをコミットします。void
forget(XidSE xid)
ヒューリスティックに完了したトランザクションブランチを忘れるようにリソースマネージャーに指示します。int
prepare(XidSE xid)
xid で指定されたトランザクションのトランザクションコミットの準備をするようにリソースマネージャーに依頼します。XidSE[]
recover(int flag)
準備されたトランザクションブランチのリストをリソースマネージャーから取得します。void
rollback(XidSE xid)
トランザクションブランチに代わって実行された作業をロールバックするようにリソースマネージャーに通知します。
メソッドの詳細
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 つをスローできます。戻ったとき、リソースマネージャーはブランチの作業をロールバックし、保持されているすべてのリソースを解放しました。