[jboss-svn-commits] JBL Code SVN: r25338 - in labs/jbosstm/trunk: ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Feb 19 07:13:19 EST 2009


Author: jhalliday
Date: 2009-02-19 07:13:19 -0500 (Thu, 19 Feb 2009)
New Revision: 25338

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxControl.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
Log:
Add removeConnection call to the readonly case to avoid resource leakage. JBTM-492


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxControl.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxControl.java	2009-02-19 12:01:29 UTC (rev 25337)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/TxControl.java	2009-02-19 12:13:19 UTC (rev 25338)
@@ -259,7 +259,12 @@
 		return maintainHeuristics;
 	}
 
-	public static final byte[] getXANodeName()
+    public static boolean isReadonlyOptimisation()
+    {
+        return readonlyOptimisation;
+    }
+
+    public static final byte[] getXANodeName()
 	{
 		return xaNodeName;
 	}

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java	2009-02-19 12:01:29 UTC (rev 25337)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java	2009-02-19 12:13:19 UTC (rev 25338)
@@ -54,6 +54,7 @@
 import com.arjuna.ats.arjuna.coordinator.AbstractRecord;
 import com.arjuna.ats.arjuna.coordinator.TwoPhaseOutcome;
 import com.arjuna.ats.arjuna.coordinator.RecordType;
+import com.arjuna.ats.arjuna.coordinator.TxControl;
 import com.arjuna.ats.arjuna.common.*;
 import com.arjuna.ats.arjuna.state.*;
 import com.arjuna.ats.arjuna.gandiva.ClassName;
@@ -262,6 +263,12 @@
 
 			if (_theXAResource.prepare(_tranID) == XAResource.XA_RDONLY)
 			{
+                if (TxControl.isReadonlyOptimisation())
+                {
+                    // we won't be called again, so we need to tidy up now
+                    removeConnection();
+                }
+                
 				return TwoPhaseOutcome.PREPARE_READONLY;
 			}
 			else




More information about the jboss-svn-commits mailing list