[jboss-svn-commits] JBL Code SVN: r18742 - labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 6 17:49:56 EST 2008


Author: mark.little at jboss.com
Date: 2008-03-06 17:49:56 -0500 (Thu, 06 Mar 2008)
New Revision: 18742

Modified:
   labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
Log:
http://jira.jboss.com/jira/browse/JBTM-278

Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java	2008-03-06 20:01:18 UTC (rev 18741)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java	2008-03-06 22:49:56 UTC (rev 18742)
@@ -382,7 +382,27 @@
 							_theXAResource.end(_tranID, XAResource.TMSUCCESS);
 						}
 					}
-
+				}
+				catch (XAException e1)
+				{
+				    if ((e1.errorCode >= XAException.XA_RBBASE)
+						&& (e1.errorCode < XAException.XA_RBEND))
+				    {
+					/*
+					 * Has been marked as rollback-only. We still
+					 * need to call rollback.
+					 */
+				    }
+				    else
+				    {
+					removeConnection();
+					
+					throw new UNKNOWN();
+				    }
+				}
+				
+				try
+				{
 					_theXAResource.rollback(_tranID);
 				}
 				catch (XAException e1)
@@ -736,10 +756,30 @@
 					 * common to other RM implementations?
 					 */
 					
-					if (endAssociation())
+					boolean commit = true;
+					
+					try
 					{
-						_theXAResource.end(_tranID, XAResource.TMSUCCESS);
+        					if (endAssociation())
+        					{
+        						_theXAResource.end(_tranID, XAResource.TMSUCCESS);
+        					}
 					}
+					catch (XAException e1)
+					{
+					    if ((e1.errorCode >= XAException.XA_RBBASE)
+							&& (e1.errorCode < XAException.XA_RBEND))
+					    {
+						/*
+						 * Has been marked as rollback-only. We still
+						 * need to call rollback.
+						 */
+						
+						commit = false;
+					    }
+					    else
+						throw new UNKNOWN();
+					}
 
 					_theXAResource.commit(_tranID, true);
 				}




More information about the jboss-svn-commits mailing list