[jboss-cvs] JBoss Messaging SVN: r5307 - branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Nov 7 06:14:06 EST 2008


Author: gaohoward
Date: 2008-11-07 06:14:05 -0500 (Fri, 07 Nov 2008)
New Revision: 5307

Modified:
   branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/OrderingGroupBasicClusteringTest.java
Log:
JBMESSAGING-1416


Modified: branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/OrderingGroupBasicClusteringTest.java
===================================================================
--- branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/OrderingGroupBasicClusteringTest.java	2008-11-07 10:06:32 UTC (rev 5306)
+++ branches/Branch_JBMESSAGING_1416/tests/src/org/jboss/test/messaging/jms/clustering/OrderingGroupBasicClusteringTest.java	2008-11-07 11:14:05 UTC (rev 5307)
@@ -23,7 +23,9 @@
 
 package org.jboss.test.messaging.jms.clustering;
 
+import java.util.HashSet;
 import java.util.Map;
+import java.util.Set;
 
 import javax.jms.Connection;
 import javax.jms.DeliveryMode;
@@ -70,6 +72,101 @@
 
    // Public --------------------------------------------------------
    
+
+   public void testOrderingGroupMergeQueue() throws Exception
+   {
+      Connection conn0 = null;
+      Connection conn1 = null;
+
+      try
+      {
+         // Objects Server0
+         conn0 = createConnectionOnServer(cf, 0);
+
+         assertEquals(0, getServerId(conn0));
+
+         Session session0 = conn0.createSession(true, Session.SESSION_TRANSACTED);
+
+         conn0.start();
+
+         JBossMessageProducer producer0 = (JBossMessageProducer)session0.createProducer(queue[0]);
+         producer0.enableOrderingGroup(null);
+
+         MessageConsumer consumer0 = session0.createConsumer(queue[0]);
+
+         for (int i = 0; i < 10; i++)
+         {
+            TextMessage tmm = session0.createTextMessage("message " + i);
+            producer0.send(tmm, DeliveryMode.PERSISTENT, i%10, Message.DEFAULT_TIME_TO_LIVE);
+         }
+
+         session0.commit();
+
+         TextMessage msg;
+
+         for (int i = 0; i < 5; i++)
+         {
+            msg = (TextMessage)consumer0.receive(5000);
+            session0.commit();
+            assertNotNull(msg);
+            log.info("msg = " + msg.getText());
+            assertEquals("message " + i, msg.getText());
+         }
+
+         log.info("****Closing consumer");
+         consumer0.close();
+
+
+         // Objects Server1
+         conn1 = createConnectionOnServer(cf, 1);
+
+         assertEquals(1, getServerId(conn1));
+
+         conn1.start();
+
+         Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer producer1 = session1.createProducer(queue[1]);
+
+         producer1.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         for (int i = 10; i < 20; i++)
+         {
+            producer1.send(session0.createTextMessage("message " + i));
+         }
+
+         //At this point there should be 5 messages on the node 0 queue (5-9)
+         //and 10 messages on the node 1 queue (10-19)
+
+         ServerManagement.kill(1);
+
+         consumer0 = session0.createConsumer(queue[0]);
+
+         for (int i = 5; i < 20; i++)
+         {
+            msg = (TextMessage)consumer0.receive(5000);
+            assertNotNull(msg);
+            session0.commit();
+            log.info("msg = " + msg.getText());
+            assertEquals("message " + i, msg.getText());
+         }
+
+         assertNull(consumer0.receive(5000));
+      }
+      finally
+      {
+         if (conn0!=null)
+         {
+            conn0.close();
+         }
+
+         if (conn1!=null)
+         {
+            conn1.close();
+         }
+      }
+   }
+
    /*
     * make sure the ordering group works when failover happens.
     */
@@ -238,9 +335,6 @@
          assertEquals(0, recoveryMapSize);
          Map recoveryArea = ServerManagement.getServer(failoverNodeId)
                .getRecoveryArea(queueName);
-         Map ids = (Map) recoveryArea.get(new Integer(1));
-         assertNotNull(ids);
-         assertEquals(1, ids.size());
 
          log.info("Killing failover node:" + failoverNodeId);
 
@@ -259,9 +353,6 @@
          assertEquals(0, recoveryMapSize);
          recoveryArea = ServerManagement.getServer(failoverNodeId)
                .getRecoveryArea(queueName);
-         ids = (Map) recoveryArea.get(new Integer(1));
-         assertNotNull(ids);
-         assertEquals(1, ids.size());
 
          log.info("Failover node id is now " + failoverNodeId);
 
@@ -298,8 +389,6 @@
          assertEquals(0, recoveryMapSize);
          recoveryArea = ServerManagement.getServer(failoverNodeId)
                .getRecoveryArea(queueName);
-         ids = (Map) recoveryArea.get(new Integer(1));
-         assertNull(ids);
 
          Message moreMsg = cons1.receive(2000);
          assertNull(moreMsg);




More information about the jboss-cvs-commits mailing list