[Jboss-cvs] JBossAS SVN: r55018 - branches/Branch_4_0/testsuite/src/main/org/jboss/test/jca/test
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Aug 1 23:42:45 EDT 2006
Author: weston.price at jboss.com
Date: 2006-08-01 23:42:45 -0400 (Tue, 01 Aug 2006)
New Revision: 55018
Modified:
branches/Branch_4_0/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java
Log:
[JBAS-3336]Destroy a connection where XA enlistment fails and do not return the
connection to the pool. Unit test support.
Modified: branches/Branch_4_0/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java
===================================================================
--- branches/Branch_4_0/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java 2006-08-02 03:42:16 UTC (rev 55017)
+++ branches/Branch_4_0/testsuite/src/main/org/jboss/test/jca/test/XATxConnectionManagerUnitTestCase.java 2006-08-02 03:42:45 UTC (rev 55018)
@@ -27,6 +27,7 @@
import javax.resource.spi.ConnectionRequestInfo;
import javax.transaction.RollbackException;
import javax.transaction.TransactionManager;
+import javax.transaction.xa.XAException;
import org.jboss.logging.Logger;
import org.jboss.resource.connectionmanager.CachedConnectionManager;
@@ -38,6 +39,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.TransactionManagerLocator;
import org.jboss.tm.TxUtils;
@@ -305,4 +307,43 @@
}
assertTrue("Connection still enlisted in tx!", !c.isInTx());
}
+
+
+ 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