commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <>
Subject [transaction] compatibility of ResourceManager to XAResource interface
Date Tue, 15 Nov 2005 09:01:25 GMT
When following the JTA 1.0.1B spec [1] while implementing my resource adapter
(XAResource) around the Commons Transaction FileResourceManager I came across
another issue:

XAResource has a method "public Xid[] recover(int flag)". Following is written
in the spec's section "3.4.8 Failures recovery":

"For each resource manager, the Transaction Manager uses the XAResource.recover
method to retrieve the list of transactions that are currently in a prepared or
heuristically completed state. [..] Because XAResource objects are not
persistent across system failures, the Transaction Manager needs to have some
way to acquire the XAResource objects that represent the resource managers which
might have participated in the transactions prior to the system failure. For
example, a Transaction Manager might, through the use of the JNDI lookup
mechanism and cooperation from the application server, acquire an XAResource
object representing each of the Resource Manager configured in the system. The
Transaction Manager then invokes the XAResource.recover method to ask each
resource manager to return any transactions that are currently in a prepared or
heuristically completed state. It is the responsibility of the Transaction
Manager to ignore transactions that do not belong to it."

This means I need a way to retrieve a list of transaction IDs to be recovered,
which the Commons Transaction ResourceManager interface does not provide at the
moment. Its recover() method does not provide it. Would it be possible to change
the method though this changes the interface?



To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message