|
1.51.2 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--interbase.interclient.XAResource
The XAResource interface is a Java mapping of the industry standard XA interface based on the X/Open CAE Specification (Distributed Transaction Processing: The XA Specification).
The XA interface defines the contract between a Resource Manager and a Transaction Manager in a distributed transaction processing (DTP) environment. A JDBC driver or a JMS provider implements the XA interface to support association between a global transaction and a database or message service connection.
The XAResource interface can be supported by any transactional resource that is intended to be used by application programs in an environment where transactions are controlled by an external transaction manager. An example of such a resource is a database management system. An application may access data through multiple database connections. Each database connection has a resource manager that is registered with the transaction manager. The transaction manager obtains an XAResource for each resource manager participating in a global transaction. It uses the start method to associate the global transaction with the XA resource, and it uses the end method to dissociate the transaction from the resource. The resource manager is responsible for associating the global transaction to all work performed on its data between the start and end method invocation.
At transaction commit time, these XA resource managers are informed by the transaction manager to prepare, commit, or rollback a transaction according to the two phase commit protocol.
XAConnection
,
Xid
Field Summary | |
static int |
TMENDRSCAN
End a recovery scan. |
static int |
TMFAIL
Dissociates the caller and mark the transaction branch rollback-only. |
static int |
TMJOIN
Caller is joining existing transaction branch. |
static int |
TMNOFLAG
Use TMNOFLAG to indicate no flags value is selected. |
static int |
TMONEPHASE
Caller is using one-phase optimization. |
static int |
TMRESUME
Caller is resuming association with with suspended transaction branch. |
static int |
TMSTARTRSCAN
Start a recovery scan. |
static int |
TMSUCCESS
Dissociate caller from transaction branch. |
static int |
TMSUSPEND
Caller is suspending (not ending) association with transaction branch. |
Constructor Summary | |
XAResource()
|
Method Summary | |
void |
commit(javax.transaction.xa.Xid xid,
boolean onePhase)
Commit the global transaction specified by xid. |
void |
end(javax.transaction.xa.Xid xid,
int flags)
Ends the work performed on behalf of a transaction branch. |
void |
forget(javax.transaction.xa.Xid xid)
Tell the resource manager to forget about a heuristically completed transaction branch. |
int |
getTransactionTimeout()
Obtain the current transaction timeout value set for this XAResource instance. |
int |
prepare(javax.transaction.xa.Xid xid)
Ask the resource manager to prepare for a transaction commit of the transaction specified in xid. |
javax.transaction.xa.Xid[] |
recover(int flag)
Obtain a list of prepared transaction branches from a resource manager. |
void |
rollback(javax.transaction.xa.Xid xid)
Inform the resource manager to roll back work done on behalf of a transaction branch |
void |
setTransactionTimeout(int seconds)
Set the current transaction timeout value for this XAResource
instance. |
void |
start(javax.transaction.xa.Xid xid,
int flags)
Start work on behalf of a transaction branch specified in xid |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
public static final int TMENDRSCAN
public static final int TMFAIL
public static final int TMJOIN
public static final int TMNOFLAG
public static final int TMONEPHASE
public static final int TMRESUME
public static final int TMSTARTRSCAN
public static final int TMSUCCESS
public static final int TMSUSPEND
Constructor Detail |
public XAResource()
Method Detail |
public void commit(javax.transaction.xa.Xid xid, boolean onePhase) throws javax.transaction.xa.XAException
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.If the resource manager did not commit the transaction and the paramether onePhase is set to true, the resource manager may raise 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 end(javax.transaction.xa.Xid xid, int flags) throws javax.transaction.xa.XAException
xid
- A global transaction identifier that is the same as
what was used previously in the start method.flags
- One of TMSUCCESS, TMFAIL, or TMSUSPENDpublic void forget(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException
xid
- A global transaction identifierpublic int getTransactionTimeout() throws javax.transaction.xa.XAException
XAResource.setTransactionTimeout
was not use prior to invoking this method, the return value
is the default timeout set for the resource manager; otherwise,
the value used in the previous setTransactionTimeout
call is
returned.public int prepare(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException
xid
- A global transaction identifierpublic javax.transaction.xa.Xid[] recover(int flag) throws javax.transaction.xa.XAException
flag
- One of TMSTARTRSCAN, TMENDRSCAN, TMNOFLAGS. TMNOFLAGS
must be used when no other flags are set in flags.public void rollback(javax.transaction.xa.Xid xid) throws javax.transaction.xa.XAException
xid
- A global transaction identifierpublic void setTransactionTimeout(int seconds) throws javax.transaction.xa.XAException
XAResource
instance. This value overwrites the default transaction timeout
value in the resource manager. The newly assigned timeout value
is effective for the life of this XAResource
instance unless
a new value is set.the
- transaction timeout value in seconds.public void start(javax.transaction.xa.Xid xid, int flags) throws javax.transaction.xa.XAException
xid
- A global transaction identifier to be associated
with the resourceflags
- One of TMNOFLAGS, TMJOIN, or TMRESUME
|
1.51.2 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |