[Jboss-cvs] JBossAS SVN: r55962 - branches/JBoss_3_2_8_SP1_JBAS_3336/testsuite/src/main/org/jboss/test/jca/test

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Aug 15 11:56:57 EDT 2006


Author: weston.price at jboss.com
Date: 2006-08-15 11:56:56 -0400 (Tue, 15 Aug 2006)
New Revision: 55962

Modified:
   branches/JBoss_3_2_8_SP1_JBAS_3336/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java
Log:
[JBAS-3336] Backport of fix for destoying a managed connection in the case of an
error in start() on XA resource.

Modified: branches/JBoss_3_2_8_SP1_JBAS_3336/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java
===================================================================
--- branches/JBoss_3_2_8_SP1_JBAS_3336/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java	2006-08-15 15:56:37 UTC (rev 55961)
+++ branches/JBoss_3_2_8_SP1_JBAS_3336/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java	2006-08-15 15:56:56 UTC (rev 55962)
@@ -26,6 +26,7 @@
 
 import javax.resource.spi.ConnectionRequestInfo;
 import javax.transaction.TransactionManager;
+import javax.transaction.xa.XAException;
 
 import org.jboss.logging.Logger;
 import org.jboss.resource.connectionmanager.CachedConnectionManager;
@@ -37,6 +38,7 @@
 import org.jboss.test.JBossTestCase;
 import org.jboss.test.jca.adapter.TestConnection;
 import org.jboss.test.jca.adapter.TestConnectionRequestInfo;
+import org.jboss.test.jca.adapter.TestManagedConnection;
 import org.jboss.test.jca.adapter.TestManagedConnectionFactory;
 import org.jboss.tm.TxManager;
 import org.jboss.tm.usertx.client.ServerVMClientUserTransaction;
@@ -198,4 +200,41 @@
      testGetConnection();
   }
 
-}// XATxConnectionManagerUnitTestCase
+  
+  public void testFailedStartTx() throws Exception
+  {
+     TestManagedConnection.setFailInStart(false, XAException.XAER_RMFAIL);
+     tm.begin();
+     TestConnection conn = null;
+     TestConnection conn2 = null;
+     
+     try
+     {
+        assertTrue("Connection in pool!", cm.getPoolingStrategy().getConnectionCount() == 0);
+        conn = (TestConnection)cm.allocateConnection(mcf, cri);
+        
+        //One should have been created
+        assertTrue(cm.getPoolingStrategy().getConnectionCount() == 1);
+
+        TestManagedConnection.setFailInStart(true, XAException.XAER_RMFAIL);
+        
+        conn2 = (TestConnection)cm.allocateConnection(mcf, cri);
+        
+        fail("Should not be here.");
+     
+     }
+     
+     catch (Throwable e)
+     {
+     }      
+     
+     conn.close();
+     
+     assertTrue(conn2 == null);            
+     assertTrue(cm.getPoolingStrategy().getConnectionCount() == 1);
+     
+
+     
+  }
+
+}




More information about the jboss-cvs-commits mailing list