public interface XATerminator
XATerminator インターフェースは、トランザクションの完了とクラッシュの回復フローに使用されます。
修飾子と型 | メソッドと説明 |
---|---|
void | commit(XidSE xid, boolean onePhase) xid で指定されたグローバルトランザクションをコミットします。 |
void | forget(XidSE xid) ヒューリスティックに完了したトランザクションブランチを忘れるようにリソースマネージャーに指示します。 |
int | prepare(XidSE xid) xid で指定されたトランザクションのトランザクションコミットの準備をするようにリソースマネージャーに依頼します。 |
XidSE[] | recover(int flag) 準備されたトランザクションブランチのリストをリソースマネージャーから取得します。 |
void | rollback(XidSE xid) トランザクションブランチに代わって実行された作業をロールバックするようにリソースマネージャーに通知します。 |
void commit(XidSE xid, boolean onePhase) throws XAExceptionSE
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 つをスローする可能性があります。戻ると、リソースマネージャーは ブランチの作業をロールバックし、保持されているすべてのリソースを解放します。
void forget(XidSE xid) throws XAExceptionSE
xid
- グローバルトランザクション識別子。XAExceptionSE
- エラーが発生しました。可能な例外値は、XAER_RMERR、XAER_RMFAIL、XAER_NOTA、XAER_INVAL、XAER_PROTO です。int prepare(XidSE xid) throws XAExceptionSE
xid
- グローバルトランザクション識別子。 javax.transaction.xa.XAResource
インターフェースで定義されています。リソースマネージャーがトランザクションをロールバックする場合は、prepare メソッドで適切な XAException を発生させる必要があります。XAExceptionSE
- エラーが発生しました。考えられる例外値は、XA_RB *、XAER_RMERR、XAER_RMFAIL、XAER_NOTA、XAER_INVAL、XAER_PROTO です。XidSE[] recover(int flag) throws XAExceptionSE
flag
- TMSTARTRSCAN、TMENDRSCAN、TMNOFLAGS のいずれか。パラメーターに他のフラグが設定されていない場合は、TMNOFLAGS を使用する必要があります。これらの定数は、javax.transaction.xa.XAResource
インターフェースで定義されています。XAExceptionSE
- エラーが発生しました。可能な値は、XAER_RMERR、XAER_RMFAIL、XAER_INVAL、XAER_PROTO です。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 つをスローできます。戻ったとき、リソースマネージャーはブランチの作業をロールバックし、保持されているすべてのリソースを解放しました。
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.