[jboss-svn-commits] JBL Code SVN: r6468 - labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 29 10:08:44 EDT 2006


Author: kevin.conner at jboss.com
Date: 2006-09-29 10:08:42 -0400 (Fri, 29 Sep 2006)
New Revision: 6468

Modified:
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java
Log:
Fix for thread disassociation when transaction reaper terminates the transaction. JBTM-139

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java	2006-09-29 13:41:11 UTC (rev 6467)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java	2006-09-29 14:08:42 UTC (rev 6468)
@@ -1162,23 +1162,22 @@
 			jtaLogger.logger.debug(DebugLevel.FUNCTIONS, VisibilityLevel.VIS_PUBLIC, com.arjuna.ats.jta.logging.FacilityCode.FAC_JTA, "TransactionImple.commitAndDisassociate");
 		}
 
-		if (_theTransaction != null)
-		{
-			switch (_theTransaction.status())
-			{
-			case ActionStatus.RUNNING:
-			case ActionStatus.ABORT_ONLY:
-				break;
-			default:
-				throw new IllegalStateException(
-						jtaLogger.logMesg.getString("com.arjuna.ats.internal.jta.transaction.arjunacore.inactive"));
-			}
-		}
-
-		try
-		{
-			if (_theTransaction != null)
-			{
+        try
+        {
+    		if (_theTransaction != null)
+    		{
+    			switch (_theTransaction.status())
+    			{
+    			case ActionStatus.RUNNING:
+    			case ActionStatus.ABORT_ONLY:
+    				break;
+                case ActionStatus.ABORTED:
+                    _theTransaction.abort() ;
+    			default:
+    				throw new IllegalStateException(
+    						jtaLogger.logMesg.getString("com.arjuna.ats.internal.jta.transaction.arjunacore.inactive"));
+    			}
+                
 				switch (_theTransaction.commit(true))
 				{
 				case ActionStatus.COMMITTED:
@@ -1200,18 +1199,6 @@
 				throw new IllegalStateException(
 						jtaLogger.logMesg.getString("com.arjuna.ats.internal.jta.transaction.arjunacore.inactive"));
 		}
-		catch (javax.transaction.HeuristicMixedException ex)
-		{
-			throw ex;
-		}
-		catch (RollbackException ex)
-		{
-			throw ex;
-		}
-		catch (IllegalStateException ex)
-		{
-			throw ex;
-		}
 		finally
 		{
 			TransactionImple.removeTransaction(this);




More information about the jboss-svn-commits mailing list