[jboss-cvs] JBoss Messaging SVN: r7792 - in branches/Branch_1_4: tests/src/org/jboss/test/messaging/jms and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Aug 30 23:54:44 EDT 2009


Author: gaohoward
Date: 2009-08-30 23:54:44 -0400 (Sun, 30 Aug 2009)
New Revision: 7792

Modified:
   branches/Branch_1_4/src/main/org/jboss/jms/message/JBossMessage.java
   branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/OrderingGroupMiscTest.java
Log:
https://jira.jboss.org/jira/browse/JBMESSAGING-1727


Modified: branches/Branch_1_4/src/main/org/jboss/jms/message/JBossMessage.java
===================================================================
--- branches/Branch_1_4/src/main/org/jboss/jms/message/JBossMessage.java	2009-08-28 06:23:26 UTC (rev 7791)
+++ branches/Branch_1_4/src/main/org/jboss/jms/message/JBossMessage.java	2009-08-31 03:54:44 UTC (rev 7792)
@@ -477,7 +477,11 @@
    //used in message ordering group. Marking the message as an ordering group member.
    public void setJBMOrderingGroupName(String grpName) throws JMSException
    {
-      setStringProperty(JBOSS_MESSAGING_ORDERING_GROUP_ID, grpName);
+      //https://jira.jboss.org/jira/browse/JBMESSAGING-1727
+      if (getStringProperty(JBOSS_MESSAGING_ORDERING_GROUP_ID) == null)
+      {
+         setStringProperty(JBOSS_MESSAGING_ORDERING_GROUP_ID, grpName);
+      }
    }
 
    //We need to override getHeaders - so the JMSDestination header gets persisted to the db

Modified: branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/OrderingGroupMiscTest.java
===================================================================
--- branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/OrderingGroupMiscTest.java	2009-08-28 06:23:26 UTC (rev 7791)
+++ branches/Branch_1_4/tests/src/org/jboss/test/messaging/jms/OrderingGroupMiscTest.java	2009-08-31 03:54:44 UTC (rev 7792)
@@ -36,6 +36,7 @@
 import javax.management.ObjectName;
 
 import org.jboss.jms.client.JBossMessageProducer;
+import org.jboss.jms.message.JBossMessage;
 import org.jboss.test.messaging.tools.ServerManagement;
 
 /**
@@ -624,6 +625,65 @@
       }
    }
 
+   //https://jira.jboss.org/jira/browse/JBMESSAGING-1727
+   //send one ordering group message and receive it, then resend it out
+   //using another group name, the group name should not be changed.
+   public void testOrderingGroupNameOverride() throws Exception
+   {
+      Connection conn = null;
+
+      try
+      {
+         conn = cf.createConnection();
+
+         Session producerSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         JBossMessageProducer producer1 = (JBossMessageProducer)producerSess.createProducer(queue1);
+
+         producer1.enableOrderingGroup("MyGroup1");
+
+         JBossMessageProducer producer2 = (JBossMessageProducer)producerSess.createProducer(queue1);
+
+         producer2.enableOrderingGroup("MyGroup2");
+
+         conn.start();
+
+         TextMessage orderMsg1 = producerSess.createTextMessage("ordering-group-1");
+         TextMessage orderMsg2 = producerSess.createTextMessage("ordering-group-2");
+         producer1.send(orderMsg1, DeliveryMode.PERSISTENT, 4, Message.DEFAULT_TIME_TO_LIVE);
+
+         Session consumerSess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageConsumer consumer = consumerSess.createConsumer(queue1);
+
+         TextMessage rm1 = (TextMessage)consumer.receive(2000);
+         assertNotNull(rm1);
+         assertEquals("ordering-group-1", rm1.getText());
+         String groupName = rm1.getStringProperty(JBossMessage.JBOSS_MESSAGING_ORDERING_GROUP_ID);
+         assertEquals("MyGroup1", groupName);
+         
+         producer2.send(orderMsg2, DeliveryMode.PERSISTENT, 4, Message.DEFAULT_TIME_TO_LIVE);
+         producer2.send(rm1, DeliveryMode.PERSISTENT, 4, Message.DEFAULT_TIME_TO_LIVE);
+         
+         TextMessage rm2 = (TextMessage)consumer.receive(2000);
+         assertEquals("ordering-group-2", rm2.getText());
+         groupName = rm2.getStringProperty(JBossMessage.JBOSS_MESSAGING_ORDERING_GROUP_ID);
+         assertEquals("MyGroup2", groupName);
+         
+         TextMessage rm3 = (TextMessage)consumer.receive(2000);
+         assertEquals("ordering-group-1", rm3.getText());
+         groupName = rm3.getStringProperty(JBossMessage.JBOSS_MESSAGING_ORDERING_GROUP_ID);
+         assertEquals("MyGroup1", groupName);
+
+         assertNull(consumer.receive(2000));
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+   }
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------




More information about the jboss-cvs-commits mailing list