public class XAImporterImpl extends Object implements XAImporter
Constructor and Description |
---|
XAImporterImpl(javax.resource.spi.XATerminator xaTerminator,
javax.resource.spi.work.WorkManager workManager) |
Modifier and Type | Method and Description |
---|---|
void |
commit(Xid xid,
boolean onePhase)
Commits the global transaction specified by xid.
|
void |
forget(Xid xid)
Tells the resource manager to forget about a heuristically
completed transaction branch.
|
Transaction |
importTransaction(TransactionManager transactionManager,
Xid xid,
int transactionTimeout)
Provide the
Transaction for the given Xid |
int |
prepare(Xid xid)
Ask the resource manager to prepare for a transaction commit
of the transaction specified in xid.
|
Xid[] |
recover(int flag)
Obtains a list of prepared transaction branches from a resource
manager.
|
void |
rollback(Xid xid)
Informs the resource manager to roll back work done on behalf
of a transaction branch.
|
public XAImporterImpl(javax.resource.spi.XATerminator xaTerminator, javax.resource.spi.work.WorkManager workManager)
public Transaction importTransaction(TransactionManager transactionManager, Xid xid, int transactionTimeout) throws XAException
XAImporter
Transaction
for the given Xid
importTransaction
in interface XAImporter
XAException
public void commit(Xid xid, boolean onePhase) throws XAException
XAImporter
commit
in interface XAImporter
xid
- A global transaction identifieronePhase
- If true, the resource manager should use a one-phase
commit protocol to commit the work done on behalf of xid.XAException
- An error has occurred. Possible XAExceptions
are XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR,
XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or XAER_PROTO.
If the resource manager did not commit the transaction and the parameter onePhase is set to true, the resource manager may throw one of the XA_RB* exceptions. Upon return, the resource manager has rolled back the branch's work and has released all held resources.
public void forget(Xid xid) throws XAException
XAImporter
forget
in interface XAImporter
xid
- A global transaction identifier.XAException
- An error has occurred. Possible exception
values are XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL, or
XAER_PROTO.public int prepare(Xid xid) throws XAException
XAImporter
prepare
in interface XAImporter
xid
- A global transaction identifier. javax.transaction.xa.XAResource
interface.
If the resource manager wants to roll back the
transaction, it should do so by raising an appropriate XAException
in the prepare method.XAException
- An error has occurred. Possible exception
values are: XA_RB*, XAER_RMERR, XAER_RMFAIL, XAER_NOTA, XAER_INVAL,
or XAER_PROTO.public Xid[] recover(int flag) throws XAException
XAImporter
recover
in interface XAImporter
flag
- One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
must be used when no other flags are set in the parameter. These
constants are defined in javax.transaction.xa.XAResource
interface.XAException
- An error has occurred. Possible values are
XAER_RMERR, XAER_RMFAIL, XAER_INVAL, and XAER_PROTO.public void rollback(Xid xid) throws XAException
XAImporter
rollback
in interface XAImporter
xid
- A global transaction identifier.XAException
- An error has occurred. Possible XAExceptions are
XA_HEURHAZ, XA_HEURCOM, XA_HEURRB, XA_HEURMIX, XAER_RMERR, XAER_RMFAIL,
XAER_NOTA, XAER_INVAL, or XAER_PROTO.
If the transaction branch is already marked rollback-only the resource manager may throw one of the XA_RB* exceptions. Upon return, the resource manager has rolled back the branch's work and has released all held resources.
Copyright © 2020. All rights reserved.