[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