[jboss-cvs] JBoss Messaging SVN: r6061 - in trunk: tests/src/org/jboss/messaging/tests/integration/xa and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 11 10:35:20 EDT 2009


Author: clebert.suconic at jboss.com
Date: 2009-03-11 10:35:20 -0400 (Wed, 11 Mar 2009)
New Revision: 6061

Modified:
   trunk/src/main/org/jboss/messaging/utils/SimpleString.java
   trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java
   trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java
   trunk/tests/src/org/jboss/messaging/tests/unit/util/SimpleStringTest.java
Log:
Few XATests

Modified: trunk/src/main/org/jboss/messaging/utils/SimpleString.java
===================================================================
--- trunk/src/main/org/jboss/messaging/utils/SimpleString.java	2009-03-11 13:36:06 UTC (rev 6060)
+++ trunk/src/main/org/jboss/messaging/utils/SimpleString.java	2009-03-11 14:35:20 UTC (rev 6061)
@@ -289,6 +289,11 @@
       }
       return false;
    }
+   
+   public SimpleString concat(final String toAdd)
+   {
+      return concat(new SimpleString(toAdd));
+   }
 
    public SimpleString concat(final SimpleString toAdd)
    {

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java	2009-03-11 13:36:06 UTC (rev 6060)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaRecoveryTest.java	2009-03-11 14:35:20 UTC (rev 6061)
@@ -312,6 +312,8 @@
          m.acknowledge();
          clientSession.commit();
       }
+      
+      assertNull(pageConsumer.receiveImmediate());
 
    }
 
@@ -557,7 +559,7 @@
       assertEquals(xids.length, 0);
       clientSession.rollback(xid);
       clientSession.start();
-      ClientMessage m = clientConsumer.receive(1000);
+      ClientMessage m = clientConsumer.receive(100);
       log.info("m is " + m);
       assertNull(m);
    }
@@ -743,7 +745,7 @@
       clientSession.rollback(xid);
       clientSession.rollback(xid2);
       clientSession.start();
-      ClientMessage m = clientConsumer.receive(1000);
+      ClientMessage m = clientConsumer.receive(100);
       assertNull(m);
    }
 
@@ -807,7 +809,7 @@
       m = clientConsumer.receive(1000);
       assertNotNull(m);
       assertEquals(m.getBody().readString(), "m4");
-      m = clientConsumer.receive(1000);
+      m = clientConsumer.receive(100);
       assertNull(m);
    }
 
@@ -938,7 +940,7 @@
       assertEquals(xids.length, 0);
       clientSession.commit(xid, true);
       clientSession.start();
-      m = clientConsumer.receive(1000);
+      m = clientConsumer.receive(100);
       assertNull(m);
    }
 
@@ -1100,7 +1102,7 @@
       assertEquals(xids.length, 0);
       clientSession.commit(xid, true);
       clientSession.start();
-      m = clientConsumer.receive(1000);
+      m = clientConsumer.receive(100);
       assertNull(m);
    }
 

Modified: trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java	2009-03-11 13:36:06 UTC (rev 6060)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/xa/BasicXaTest.java	2009-03-11 14:35:20 UTC (rev 6061)
@@ -30,6 +30,8 @@
 import javax.transaction.xa.XAResource;
 import javax.transaction.xa.Xid;
 
+import com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple;
+
 import org.jboss.messaging.core.client.ClientConsumer;
 import org.jboss.messaging.core.client.ClientMessage;
 import org.jboss.messaging.core.client.ClientProducer;
@@ -77,7 +79,7 @@
       configuration.setJournalMinFiles(2);
       configuration.setPagingDirectory(getPageDir());
 
-      messagingService = createService(true, configuration, addressSettings);
+      messagingService = createService(false, configuration, addressSettings);
 
       // start the server
       messagingService.start();
@@ -119,6 +121,13 @@
       super.tearDown();
    }
 
+   public void transactionManagerIntegration() throws Exception
+   {
+      TransactionManagerImple tm = new TransactionManagerImple();
+      tm.begin();
+
+   }
+
    public void testSendPrepareDoesntRollbackOnClose() throws Exception
    {
       Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
@@ -161,7 +170,6 @@
    {
       Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
 
-
       ClientSession clientSession2 = sessionFactory.createSession(false, true, true);
       ClientProducer clientProducer = clientSession2.createProducer(atestq);
       ClientMessage m1 = createTextMessage(clientSession2, "m1");
@@ -232,7 +240,6 @@
          session.start();
       }
 
-
       assertTrue(latch.await(10, TimeUnit.SECONDS));
       for (TxMessageHandler messageHandler : handlers)
       {
@@ -240,6 +247,165 @@
       }
    }
 
+   public void testSendMultipleQueues() throws Exception
+   {
+      multipleQueuesInternalTest(false, false);
+   }
+
+   public void testSendMultipleQueuesRecreate() throws Exception
+   {
+      multipleQueuesInternalTest(false, true);
+   }
+
+   public void testSendMultipleSuspend() throws Exception
+   {
+      multipleQueuesInternalTest(true, false);
+   }
+
+   public void testSendMultipleSuspendRecreate() throws Exception
+   {
+      multipleQueuesInternalTest(true, true);
+   }
+
+   /**
+    * @throws MessagingException
+    * @throws XAException
+    */
+   protected void multipleQueuesInternalTest(boolean suspend, boolean recreateSession) throws MessagingException,
+                                                                                      XAException
+   {
+      int NUMBER_OF_MSGS = 100;
+      int NUMBER_OF_QUEUES = 10;
+      ClientSession session = null;
+
+      SimpleString ADDRESS = new SimpleString("Address");
+
+      try
+      {
+
+         session = sessionFactory.createSession(true, false, false);
+
+         for (int i = 0; i < NUMBER_OF_QUEUES; i++)
+         {
+            session.createQueue(ADDRESS, ADDRESS.concat(Integer.toString(i)), true);
+         }
+
+         for (int tr = 0; tr < 2; tr++)
+         {
+
+            Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
+
+            session.start(xid, XAResource.TMNOFLAGS);
+
+            ClientProducer prod = session.createProducer(ADDRESS);
+            for (int nmsg = 0; nmsg < NUMBER_OF_MSGS; nmsg++)
+            {
+               ClientMessage msg = createTextMessage(session, "SimpleMessage" + nmsg);
+               prod.send(msg);
+            }
+
+            if (suspend)
+            {
+               session.end(xid, XAResource.TMSUSPEND);
+               session.start(xid, XAResource.TMRESUME);
+            }
+
+            prod.send(createTextMessage(session, "one more"));
+
+            prod.close();
+
+            session.end(xid, XAResource.TMSUCCESS);
+
+            session.prepare(xid);
+
+            if (recreateSession)
+            {
+               session.close();
+               session = sessionFactory.createSession(true, false, false);
+            }
+
+            if (tr == 0)
+            {
+               session.rollback(xid);
+            }
+            else
+            {
+               session.commit(xid, false);
+            }
+
+         }
+
+         for (int i = 0; i < 2; i++)
+         {
+
+            Xid xid = new XidImpl("xa1".getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
+
+            session.start(xid, XAResource.TMNOFLAGS);
+
+            for (int nqueues = 0; nqueues < NUMBER_OF_QUEUES; nqueues++)
+            {
+
+               ClientConsumer consumer = session.createConsumer(ADDRESS.concat(Integer.toString(nqueues)));
+
+               session.start();
+
+               for (int nmsg = 0; nmsg < NUMBER_OF_MSGS; nmsg++)
+               {
+                  ClientMessage msg = consumer.receive(1000);
+
+                  assertNotNull(msg);
+
+                  assertEquals("SimpleMessage" + nmsg, getTextMessage(msg));
+
+                  msg.acknowledge();
+               }
+
+               ClientMessage msg = consumer.receive(1000);
+               assertNotNull(msg);
+
+               if (suspend)
+               {
+                  session.end(xid, XAResource.TMSUSPEND);
+                  session.start(xid, XAResource.TMRESUME);
+               }
+
+               assertEquals("one more", getTextMessage(msg));
+
+               assertNull(consumer.receiveImmediate());
+
+               consumer.close();
+
+            }
+
+            session.end(xid, XAResource.TMSUCCESS);
+
+            session.prepare(xid);
+
+            if (recreateSession)
+            {
+               session.close();
+               session = sessionFactory.createSession(true, false, false);
+            }
+
+            if (i == 0)
+            {
+               session.rollback(xid);
+            }
+            else
+            {
+               session.commit(xid, true);
+            }
+         }
+      }
+      finally
+      {
+         if (session != null)
+         {
+            session.close();
+         }
+      }
+   }
+
    class TxMessageHandler implements MessageHandler
    {
       boolean failedToAck = false;
@@ -256,7 +422,9 @@
 
       public void onMessage(final ClientMessage message)
       {
-         Xid xid = new XidImpl(UUIDGenerator.getInstance().generateStringUUID().getBytes(), 1, UUIDGenerator.getInstance().generateStringUUID().getBytes());
+         Xid xid = new XidImpl(UUIDGenerator.getInstance().generateStringUUID().getBytes(),
+                               1,
+                               UUIDGenerator.getInstance().generateStringUUID().getBytes());
          try
          {
             session.start(xid, XAResource.TMNOFLAGS);

Modified: trunk/tests/src/org/jboss/messaging/tests/unit/util/SimpleStringTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/util/SimpleStringTest.java	2009-03-11 13:36:06 UTC (rev 6060)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/util/SimpleStringTest.java	2009-03-11 14:35:20 UTC (rev 6061)
@@ -316,5 +316,11 @@
       SimpleString end = new SimpleString("qrstuvwxyz");
       assertEquals(start.concat(middle).concat(end), new SimpleString("abcdefghijklmnopqrstuvwxyz"));
       assertEquals(start.concat('.').concat(end), new SimpleString("abcdefg.qrstuvwxyz"));
+      // Testing concat of SimpleString with String
+      for (int i = 0; i < 10; i++)
+      {
+         assertEquals(new SimpleString("abcdefg-" + i), start.concat("-" + Integer.toString(i)));
+         
+      }
    }
 }




More information about the jboss-cvs-commits mailing list