org.openorb.ots.xa
Class XAVirtualResource
public
class
XAVirtualResource
extends Object
implements XAResource
This class is an XA resource implementation needed for database that don't
provide an XA resource.
Author: Jerome Daniel
Method Summary |
void | commit(Xid xid, boolean onePhase)
Commit the global transaction specified by xid. |
void | end(Xid xid, int flags)
Ends the work performed on behalf of a transaction branch. |
void | forget(Xid xid)
Tell the resource manager to forget about a heuristically completed transaction branch. |
int | getResourceID()
Return the XA Resource ID |
int | getTransactionTimeout()
Obtain the current transaction timeout value set for this XAResource instance.
|
boolean | isSameRM(XAResource xares)
This method is called to determine if the resource manager instance represented
by the target object is the same as the resouce manager instance represented by
the parameter xares. |
int | prepare(Xid xid)
Ask the resource manager to prepare for a transaction commit of the
transaction specified in xid. |
Xid[] | recover(int flag)
Obtain a list of prepared transaction branches from a resource manager. |
void | rollback(Xid xid)
Inform the resource manager to roll back work done on behalf of a transaction branch |
boolean | sameXID(Xid xid)
This operation is used to compare XA XIDs. |
boolean | setTransactionTimeout(int seconds)
Set the current transaction timeout value for this XAResource instance. |
void | start(Xid xid, int flags)
Start work on behalf of a transaction branch specified in xid.
|
Constructor
public void commit(Xid xid, boolean onePhase)
Commit the global transaction specified by xid.
public void end(Xid xid, int flags)
Ends the work performed on behalf of a transaction branch. The resource
manager disassociates the XA resource from the transaction branch specified
and let the transaction be completed.
public void forget(Xid xid)
Tell the resource manager to forget about a heuristically completed transaction branch.
public int getResourceID()
Return the XA Resource ID
public int getTransactionTimeout()
Obtain the current transaction timeout value set for this XAResource instance.
If 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 boolean isSameRM(XAResource xares)
This method is called to determine if the resource manager instance represented
by the target object is the same as the resouce manager instance represented by
the parameter xares.
public int prepare(Xid xid)
Ask the resource manager to prepare for a transaction commit of the
transaction specified in xid.
public Xid[] recover(int flag)
Obtain a list of prepared transaction branches from a resource manager. The transaction
manager calls this method during recovery to obtain the list of transaction branches that are
currently in prepared or heuristically completed states.
This virtual XA resource doesn't implement it ! it is not possible :-(
public void rollback(Xid xid)
Inform the resource manager to roll back work done on behalf of a transaction branch
public boolean sameXID(Xid xid)
This operation is used to compare XA XIDs.
public boolean setTransactionTimeout(int seconds)
Set the current transaction timeout value for this XAResource instance. Once set,
this timeout value is effective until setTransactionTimeout is invoked again with a
different value. To reset the timeout value to the default value used by the resource
manager, set the value to zero. If the timeout operation is performed successfully, the
method returns true; otherwise false. If a resource manager does not support transaction
timeout value to be set explicitly, this method returns false.
public void start(Xid xid, int flags)
Start work on behalf of a transaction branch specified in xid.
If TMJOIN is specified, the start is for joining a transaction previously seen
by the resource manager.
If TMRESUME is specified, the start is to resume a suspended transaction specified
in the parameter xid.
If neither TMJOIN nor TMRESUME is specified and the transaction specified by xid has
previously been seen by the resource manager, the resource manager throws the XAException
exception with XAER_DUPID error code.
Our virtual XA resource does not accept RESUME and JOIN.