[jboss-svn-commits] JBL Code SVN: r26705 - in labs/jbosstm/trunk: ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat May 23 14:24:22 EDT 2009


Author: mark.little at jboss.com
Date: 2009-05-23 14:24:21 -0400 (Sat, 23 May 2009)
New Revision: 26705

Modified:
   labs/jbosstm/trunk/ArjunaJTA/docs/user_guide/ProgrammersGuide.odt
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/Environment.java
   labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/TransactionImple.java
Log:
https://jira.jboss.org/jira/browse/JBTM-238

Modified: labs/jbosstm/trunk/ArjunaJTA/docs/user_guide/ProgrammersGuide.odt
===================================================================
(Binary files differ)

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	2009-05-23 10:48:13 UTC (rev 26704)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionImple.java	2009-05-23 18:24:21 UTC (rev 26705)
@@ -100,6 +100,9 @@
  *          You have chosen to enable multiple last resources in the transaction
  *          manager. This is transactionally unsafe and should not be relied
  *          upon.
+ * @message com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disableWarning
+ *          [com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disableWarning]
+ *          You have chosen to disable the Multiple Last Resources warning. You will see it only once.
  */
 
 public class TransactionImple implements javax.transaction.Transaction,
@@ -967,11 +970,16 @@
                 {
                     if (ALLOW_MULTIPLE_LAST_RESOURCES)
                     {
-                        jtaLogger.loggerI18N
-                                .warn(
-                                        "com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.multipleWarning",
-                                        new Object[]
-                                                { xaRes });
+                        if (!_disableMLRWarning || (_disableMLRWarning && !_issuedWarning))
+                        {
+                            jtaLogger.loggerI18N
+                                    .warn(
+                                            "com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.multipleWarning",
+                                            new Object[]
+                                                    { xaRes });
+                            
+                            _issuedWarning = true;
+                        }
                     }
                     else
                     {
@@ -1922,7 +1930,10 @@
 	private static final boolean XA_TRANSACTION_TIMEOUT_ENABLED;
 
 	private static final Class LAST_RESOURCE_OPTIMISATION_INTERFACE;
-
+	
+	private static boolean _disableMLRWarning = false;
+	private static boolean _issuedWarning = false;
+	
 	static
 	{
 		final String xaTransactionTimeoutEnabled = jtaPropertyManager.propertyManager
@@ -1973,6 +1984,15 @@
 			jtaLogger.loggerI18N
 					.warn("com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.startupWarning");
 		}
+		
+		String disableMLRW = jtaPropertyManager.getPropertyManager().getProperty(Environment.DISABLE_MULTIPLE_LAST_RESOURCES_WARNING, "false");
+		
+		if ("true".equalsIgnoreCase(disableMLRW))
+		{
+		    jtaLogger.loggerI18N.warn("com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disableWarning");
+		    
+		    _disableMLRWarning = true;
+		}
 	}
 
 	private static ConcurrentHashMap _transactions = new ConcurrentHashMap();

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/Environment.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/Environment.java	2009-05-23 10:48:13 UTC (rev 26704)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/Environment.java	2009-05-23 18:24:21 UTC (rev 26705)
@@ -62,6 +62,8 @@
     public static final String XA_TRANSACTION_TIMEOUT_ENABLED = "com.arjuna.ats.jta.xaTransactionTimeoutEnabled";
     public static final String LAST_RESOURCE_OPTIMISATION_INTERFACE = "com.arjuna.ats.jta.lastResourceOptimisationInterface";
     public static final String ALLOW_MULTIPLE_LAST_RESOURCES = "com.arjuna.ats.jta.allowMultipleLastResources";
+    
+    public static final String DISABLE_MULTIPLE_LAST_RESOURCES_WARNING = "com.arjuna.ats.jta.disableMultipleLastResourcesWarning";
 
 }
 

Modified: labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/TransactionImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/TransactionImple.java	2009-05-23 10:48:13 UTC (rev 26704)
+++ labs/jbosstm/trunk/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/transaction/jts/TransactionImple.java	2009-05-23 18:24:21 UTC (rev 26705)
@@ -52,6 +52,7 @@
 import com.arjuna.ats.jta.xa.*;
 import com.arjuna.ats.jta.common.Configuration;
 import com.arjuna.ats.jta.common.Environment;
+import com.arjuna.ats.jta.common.jtaPropertyManager;
 import com.arjuna.ats.jta.exceptions.InactiveTransactionException;
 import com.arjuna.ats.jta.exceptions.InvalidTerminationStateException;
 import com.arjuna.ats.jta.logging.*;
@@ -130,6 +131,9 @@
  *          [com.arjuna.ats.internal.jta.transaction.jts.lastResource.startupWarning]
  *          You have chosen to enable multiple last resources in the transaction manager.
  *          This is transactionally unsafe and should not be relied upon.
+ * @message com.arjuna.ats.internal.jta.transaction.jts.lastResource.disableWarning
+ *          [com.arjuna.ats.internal.jta.transaction.jts.lastResource.disableWarning]
+ *          You have chosen to disable the Multiple Last Resources warning. You will see it only once.
  */
 
 public class TransactionImple implements javax.transaction.Transaction,
@@ -496,12 +500,7 @@
 
 	// package-private method also for use by
 	// TransactionSynchronizationRegistryImple
-	/**
-	 * @message com.arjuna.ats.internal.jta.transaction.arjunacore.syncwhenaborted
-	 *          [com.arjuna.ats.internal.jta.transaction.arjunacore.syncwhenaborted]
-	 *          Can't register synchronization because the transaction is in
-	 *          aborted state
-	 */
+
 	void registerSynchronizationImple(SynchronizationImple synchronizationImple)
 			throws javax.transaction.RollbackException,
 			java.lang.IllegalStateException, javax.transaction.SystemException
@@ -951,17 +950,22 @@
                 {
                     if (ALLOW_MULTIPLE_LAST_RESOURCES)
                     {
-                        jtaLogger.loggerI18N
-                                .warn(
-                                        "com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.multipleWarning",
-                                        new Object[]
-                                                { xaRes });
+                        if (!_disableMLRWarning || (_disableMLRWarning && !_issuedWarning))
+                        {
+                            jtaLogger.loggerI18N
+                                    .warn(
+                                            "com.arjuna.ats.internal.jta.transaction.jts.lastResource.multipleWarning",
+                                            new Object[]
+                                                    { xaRes });
+                            
+                            _issuedWarning = true;
+                        }
                     }
                     else
                     {
                         jtaLogger.loggerI18N
                                 .warn(
-                                        "com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow",
+                                        "com.arjuna.ats.internal.jta.transaction.jts.lastResource.disallow",
                                         new Object[]
                                                 { xaRes });
                     }
@@ -1930,6 +1934,9 @@
 
 	private static final boolean XA_TRANSACTION_TIMEOUT_ENABLED ;
 	private static final Class LAST_RESOURCE_OPTIMISATION_INTERFACE ;
+	
+	private static boolean _disableMLRWarning = false;
+        private static boolean _issuedWarning = false;
 
 	static
 	{
@@ -1967,6 +1974,15 @@
                 {
                     jtaLogger.loggerI18N.warn("com.arjuna.ats.internal.jta.transaction.jts.lastResource.startupWarning");
                 }
+                
+                String disableMLRW = jtaPropertyManager.getPropertyManager().getProperty(Environment.DISABLE_MULTIPLE_LAST_RESOURCES_WARNING, "false");
+                
+                if ("true".equalsIgnoreCase(disableMLRW))
+                {
+                    jtaLogger.loggerI18N.warn("com.arjuna.ats.internal.jta.transaction.jts.lastResource.disableWarning");
+                    
+                    _disableMLRWarning = true;
+                }
 	}
 
     private static ConcurrentHashMap _transactions = new ConcurrentHashMap();




More information about the jboss-svn-commits mailing list