You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2003/10/15 21:36:47 UTC
cvs commit: incubator-geronimo/modules/core/src/java/org/apache/geronimo/transaction/manager TransactionImpl.java
djencks 2003/10/15 12:36:47
Modified: modules/core/src/java/org/apache/geronimo/transaction/manager
TransactionImpl.java
Log:
Resume an XAResource if it already knows a (suspended) xid
Revision Changes Path
1.2 +7 -2 incubator-geronimo/modules/core/src/java/org/apache/geronimo/transaction/manager/TransactionImpl.java
Index: TransactionImpl.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/core/src/java/org/apache/geronimo/transaction/manager/TransactionImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- TransactionImpl.java 29 Sep 2003 00:32:40 -0000 1.1
+++ TransactionImpl.java 15 Oct 2003 19:36:47 -0000 1.2
@@ -160,8 +160,13 @@
for (Iterator i = resourceManagers.iterator(); i.hasNext();) {
ResourceManager manager = (ResourceManager) i.next();
boolean sameRM;
+ //if the xares is already known, we must be resuming after a suspend.
+ if (xaRes == manager.committer) {
+ xaRes.start(manager.branchId, XAResource.TMRESUME);
+ return true;
+ }
+ //Otherwise, see if this is a new xares for the same resource manager
try {
- // @todo should we check if xaRes.equals(manager.committer) ?
sameRM = xaRes.isSameRM(manager.committer);
} catch (XAException e) {
log.warn("Unexpected error checking for same RM", e);