[jboss-cvs] JBoss Messaging SVN: r2074 - in trunk/tests: src/org/jboss/test/messaging/jms and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 26 18:55:10 EST 2007


Author: timfox
Date: 2007-01-26 18:55:10 -0500 (Fri, 26 Jan 2007)
New Revision: 2074

Modified:
   trunk/tests/build.xml
   trunk/tests/src/org/jboss/test/messaging/jms/TransactedSessionTest.java
   trunk/tests/src/org/jboss/test/messaging/jms/XATest.java
   trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java
Log:
more test fixes/tweaks


Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml	2007-01-26 22:53:57 UTC (rev 2073)
+++ trunk/tests/build.xml	2007-01-26 23:55:10 UTC (rev 2074)
@@ -107,7 +107,7 @@
    <property name="junit.haltonfailure" value="false"/>
    <property name="junit.fork" value="true"/>
    <property name="junit.includeantruntime" value="true"/>
-   <property name="junit.timeout" value="1200000"/>
+   <property name="junit.timeout" value="2400000"/>
    <property name="stress.timeout" value="4800000"/>
 
    <property name="junit.showoutput" value="true"/>

Modified: trunk/tests/src/org/jboss/test/messaging/jms/TransactedSessionTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/TransactedSessionTest.java	2007-01-26 22:53:57 UTC (rev 2073)
+++ trunk/tests/src/org/jboss/test/messaging/jms/TransactedSessionTest.java	2007-01-26 23:55:10 UTC (rev 2074)
@@ -28,11 +28,20 @@
 import javax.jms.MessageProducer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
+import javax.jms.XAConnection;
+import javax.jms.XASession;
 import javax.management.ObjectName;
 import javax.naming.InitialContext;
+import javax.transaction.Transaction;
+import javax.transaction.xa.XAResource;
 
+import org.jboss.jms.client.JBossConnection;
 import org.jboss.jms.client.JBossConnectionFactory;
+import org.jboss.jms.client.delegate.ClientConnectionDelegate;
+import org.jboss.jms.client.state.ConnectionState;
+import org.jboss.jms.tx.ResourceManager;
 import org.jboss.test.messaging.MessagingTestCase;
+import org.jboss.test.messaging.jms.XATest.DummyXAResource;
 import org.jboss.test.messaging.tools.ServerManagement;
 
 /**
@@ -95,7 +104,101 @@
    
    // Public --------------------------------------------------------
 
+   public void testResourceManagerMemoryLeakOnCommit() throws Exception
+   {
 
+      Connection conn = null;
+      
+      try
+      {
+         conn = cf.createConnection();
+         
+         JBossConnection jbConn = (JBossConnection)conn;
+         
+         ClientConnectionDelegate del = (ClientConnectionDelegate)jbConn.getDelegate();
+         
+         ConnectionState state = (ConnectionState)del.getState();
+         
+         ResourceManager rm = state.getResourceManager();
+         
+         Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
+         
+         
+         for (int i = 0; i < 100; i++)
+         {
+            assertEquals(1, rm.size());
+            
+            session.commit();
+            
+            assertEquals(1, rm.size());
+         }                  
+         
+         assertEquals(1, rm.size());
+         
+         conn.close();
+         
+         conn = null;
+         
+         assertEquals(0, rm.size());
+
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+   }
+   
+   public void testResourceManagerMemoryLeakOnRollback() throws Exception
+   {
+
+      Connection conn = null;
+      
+      try
+      {
+         conn = cf.createConnection();
+         
+         JBossConnection jbConn = (JBossConnection)conn;
+         
+         ClientConnectionDelegate del = (ClientConnectionDelegate)jbConn.getDelegate();
+         
+         ConnectionState state = (ConnectionState)del.getState();
+         
+         ResourceManager rm = state.getResourceManager();
+         
+         Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
+         
+         
+         for (int i = 0; i < 100; i++)
+         {
+            assertEquals(1, rm.size());
+            
+            session.commit();
+            
+            assertEquals(1, rm.size());
+         }                  
+         
+         assertEquals(1, rm.size());
+         
+         conn.close();
+         
+         conn = null;
+         
+         assertEquals(0, rm.size());
+
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+   }
+   
+
    public void testSimpleRollback() throws Exception
    {
       // send a message

Modified: trunk/tests/src/org/jboss/test/messaging/jms/XATest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/XATest.java	2007-01-26 22:53:57 UTC (rev 2073)
+++ trunk/tests/src/org/jboss/test/messaging/jms/XATest.java	2007-01-26 23:55:10 UTC (rev 2074)
@@ -38,8 +38,12 @@
 import javax.transaction.xa.XAResource;
 import javax.transaction.xa.Xid;
 
+import org.jboss.jms.client.JBossConnection;
 import org.jboss.jms.client.JBossConnectionFactory;
+import org.jboss.jms.client.delegate.ClientConnectionDelegate;
+import org.jboss.jms.client.state.ConnectionState;
 import org.jboss.jms.tx.MessagingXAResource;
+import org.jboss.jms.tx.ResourceManager;
 import org.jboss.test.messaging.MessagingTestCase;
 import org.jboss.test.messaging.tools.ServerManagement;
 import org.jboss.test.messaging.tools.jmx.ServiceContainer;
@@ -140,8 +144,133 @@
 
    // Public --------------------------------------------------------
    
+   //See http://jira.jboss.com/jira/browse/JBMESSAGING-638
+   public void testResourceManagerMemoryLeakOnCommit() throws Exception
+   {
+
+      XAConnection xaConn = null;
+      
+      try
+      {
+         xaConn = cf.createXAConnection();
+         
+         JBossConnection jbConn = (JBossConnection)xaConn;
+         
+         ClientConnectionDelegate del = (ClientConnectionDelegate)jbConn.getDelegate();
+         
+         ConnectionState state = (ConnectionState)del.getState();
+         
+         ResourceManager rm = state.getResourceManager();
+         
+         XASession xaSession = xaConn.createXASession();
+         
+         xaConn.start();
+         
+         XAResource res = xaSession.getXAResource();
+         
+         XAResource dummy = new DummyXAResource();
+         
+         for (int i = 0; i < 100; i++)
+         {
+            
+            tm.begin();
+                     
+            Transaction tx = tm.getTransaction();
+            
+            tx.enlistResource(res);
+            
+            tx.enlistResource(dummy);
+            
+            assertEquals(1, rm.size());
+            
+            tx.delistResource(res, XAResource.TMSUCCESS);
+            
+            tx.delistResource(dummy, XAResource.TMSUCCESS);
+            
+            tm.commit();
+         }                  
+         
+         assertEquals(1, rm.size());
+         
+         xaConn.close();
+         
+         xaConn = null;
+         
+         assertEquals(0, rm.size());
+
+      }
+      finally
+      {
+         if (xaConn != null)
+         {
+            xaConn.close();
+         }
+      }
+   }
    
+   //See http://jira.jboss.com/jira/browse/JBMESSAGING-638
+   public void testResourceManagerMemoryLeakOnRollback() throws Exception
+   { 
+      XAConnection xaConn = null;
+      
+      try
+      {
+         xaConn = cf.createXAConnection();
+         
+         JBossConnection jbConn = (JBossConnection)xaConn;
+         
+         ClientConnectionDelegate del = (ClientConnectionDelegate)jbConn.getDelegate();
+         
+         ConnectionState state = (ConnectionState)del.getState();
+         
+         ResourceManager rm = state.getResourceManager();
+         
+         XASession xaSession = xaConn.createXASession();
+         
+         xaConn.start();
+         
+         XAResource res = xaSession.getXAResource();
+         
+         XAResource dummy = new DummyXAResource();
+         
+         for (int i = 0; i < 100; i++)
+         {            
+            tm.begin();
+                     
+            Transaction tx = tm.getTransaction();
+            
+            tx.enlistResource(res);
+            
+            tx.enlistResource(dummy);
+            
+            assertEquals(1, rm.size());
+            
+            tx.delistResource(res, XAResource.TMSUCCESS);
+            
+            tx.delistResource(dummy, XAResource.TMSUCCESS);
+            
+            tm.rollback();
+         }                  
+         
+         assertEquals(1, rm.size());
+         
+         xaConn.close();
+         
+         xaConn = null;
+         
+         assertEquals(0, rm.size());
 
+      }
+      finally
+      {
+         if (xaConn != null)
+         {
+            xaConn.close();
+         }
+      }
+   }
+   
+
    //http://jira.jboss.com/jira/browse/JBMESSAGING-721
    public void testConvertFromLocalTx() throws Exception
    {

Modified: trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java	2007-01-26 22:53:57 UTC (rev 2073)
+++ trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java	2007-01-26 23:55:10 UTC (rev 2074)
@@ -113,6 +113,14 @@
          }
          sc.start(false);
          
+         ServerManagement.undeployQueue("sourceQueue", 0);
+         
+         ServerManagement.undeployTopic("sourceTopic", 0);  
+         
+         ServerManagement.undeployQueue("localDestQueue", 0);
+            
+         ServerManagement.undeployQueue("destQueue", 1); 
+         
          ServerManagement.deployQueue("sourceQueue", 0);
          
          ServerManagement.deployTopic("sourceTopic", 0);  




More information about the jboss-cvs-commits mailing list