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);