[jboss-svn-commits] JBL Code SVN: r37847 - in labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS: jts/classes/com/arjuna/ats/internal/jts/context and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jan 17 10:21:09 EST 2012


Author: tomjenkinson
Date: 2012-01-17 10:21:07 -0500 (Tue, 17 Jan 2012)
New Revision: 37847

Modified:
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java
   labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java
Log:
JBTM-1022

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java	2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/BaseTransaction.java	2012-01-17 15:21:07 UTC (rev 37847)
@@ -34,6 +34,7 @@
 import com.arjuna.ats.internal.jta.utils.jtaxLogger;
 import com.arjuna.ats.jta.common.jtaPropertyManager;
 
+import org.omg.CORBA.TRANSACTION_UNAVAILABLE;
 import org.omg.CosTransactions.*;
 
 import com.arjuna.ats.jts.OTSManager;
@@ -191,7 +192,15 @@
             jtaxLogger.logger.trace("BaseTransaction.getStatus");
         }
 
-		TransactionImple theTransaction = TransactionImple.getTransaction();
+		TransactionImple theTransaction = null;
+	
+		try {
+		theTransaction = TransactionImple.getTransaction();
+		} catch (TRANSACTION_UNAVAILABLE e) {
+		    if (e.minor == 1) {
+	            return javax.transaction.Status.STATUS_NO_TRANSACTION;
+		    }
+		}
 
 		try
 		{

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java	2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/context/ContextManager.java	2012-01-17 15:21:07 UTC (rev 37847)
@@ -708,6 +708,11 @@
 		    return new ControlWrapper(theFactory.recreate(theContext));
 		}
 	    }
+        catch (TRANSACTION_UNAVAILABLE ex)
+        {
+            // Already logged this
+        throw ex;
+        }
 	    catch (SystemException ex)
 	    {
             jtsLogger.i18NLogger.warn_context_genfail("ContextManager.createHierarchy", ex);

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java	2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/interposition/resources/arjuna/Interposition.java	2012-01-17 15:21:07 UTC (rev 37847)
@@ -48,6 +48,7 @@
 import com.arjuna.ArjunaOTS.*;
 
 import org.omg.CORBA.SystemException;
+import org.omg.CORBA.TRANSACTION_UNAVAILABLE;
 import org.omg.CORBA.UNKNOWN;
 import org.omg.CORBA.TRANSACTION_ROLLEDBACK;
 
@@ -187,7 +188,11 @@
 	    {
 	    }
 
-	    throw new TRANSACTION_ROLLEDBACK();
+        if (((ServerTopLevelAction)action).isTransactionInactive()) {
+            throw new TRANSACTION_UNAVAILABLE(jtsLogger.i18NLogger.get_transaction_was_inactive(), 1, CompletionStatus.COMPLETED_NO);
+        } else {
+            throw new TRANSACTION_ROLLEDBACK();
+        }
 	}
 
 	ServerTopLevelAction newElement = (ServerTopLevelAction)action;

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java	2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/arjuna/ServerTopLevelAction.java	2012-01-17 15:21:07 UTC (rev 37847)
@@ -118,7 +118,6 @@
 	    Coordinator realCoordinator = _theControl.originalCoordinator();
 
 	    if (!(_valid = registerResource(realCoordinator))) {
-            jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_ipfailed("ServerTopLevelAction");
 
             /*
             * Failed to register. Valid is set, and the interposition
@@ -610,8 +609,10 @@
 
 			result = true;
 		    }
-		    else
+		    else {
 			result = false;
+            jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_ipfailed("ServerTopLevelAction");
+		    }
 		}
 		else
 		    result = true;
@@ -620,7 +621,9 @@
             jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", classCastException);
         }
 	    catch (Inactive ine) {
-            jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", ine);
+            jtsLogger.i18NLogger.warn_server_top_level_action_inactive();
+            jtsLogger.i18NLogger.debug_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", ine);
+            transactionInactive = true;
         }
 	    catch (TRANSACTION_ROLLEDBACK ex1) {
             jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_arjuna_generror("ServerTopLevelAction.registerResource", ex1);
@@ -639,7 +642,12 @@
 	return result;
     }
 
+public boolean isTransactionInactive() {
+    return transactionInactive;
+}
+
 protected org.omg.CosTransactions.ResourcePOATie _theResource;
 protected Resource                               _resourceRef;
+private boolean transactionInactive;
 
 }

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java	2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/orbspecific/interposition/resources/strict/ServerStrictTopLevelAction.java	2012-01-17 15:21:07 UTC (rev 37847)
@@ -89,7 +89,7 @@
 		Coordinator realCoordinator = _theControl.originalCoordinator();
 
 		if (!(_valid = registerResource(realCoordinator))) {
-            jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_strict_iptlfailed("ServerStrictNestedAction");
+//            jtsLogger.i18NLogger.warn_orbspecific_interposition_resources_strict_iptlfailed("ServerStrictNestedAction");
 
             /*
                 * Failed to register. Valid is set, and the interposition

Modified: labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java
===================================================================
--- labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java	2012-01-17 15:15:39 UTC (rev 37846)
+++ labs/jbosstm/branches/JBOSSTS_4_16/ArjunaJTS/jts/classes/com/arjuna/ats/jts/logging/jtsI18NLogger.java	2012-01-17 15:21:07 UTC (rev 37847)
@@ -1044,9 +1044,20 @@
     @LogMessage(level = WARN)
     public void warn_orbspecific_coordinator_ipunknown(String arg0, String arg1);
 
+    @Message(id = 22258, value = "Transaction was inactive", format = MESSAGE_FORMAT)
+    public String get_transaction_was_inactive();
+
     @Message(id = 22259, value = "ExtendedResourceRecord detected that the remote side had cleaned up, assuming 1PC resource", format = MESSAGE_FORMAT)
     @LogMessage(level = WARN)
     public void warn_1pc_commit_one();
+    
+    @Message(id = 22260, value = "{0} caught exception", format = MESSAGE_FORMAT)
+    @LogMessage(level = DEBUG)
+    public void debug_orbspecific_interposition_resources_arjuna_generror(String arg0, @Cause() Throwable arg1);
+ 
+    @Message(id = 22261, value = "ServerTopLevelAction detected that the transaction was inactive", format = MESSAGE_FORMAT)
+    @LogMessage(level = WARN)
+    public void warn_server_top_level_action_inactive();
 
     /*
         Allocate new messages directly above this notice.



More information about the jboss-svn-commits mailing list