[jboss-cvs] JBoss Messaging SVN: r6199 - trunk/tests/src/org/jboss/messaging/tests/integration/client.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 27 12:09:05 EDT 2009
Author: jmesnil
Date: 2009-03-27 12:09:05 -0400 (Fri, 27 Mar 2009)
New Revision: 6199
Modified:
trunk/tests/src/org/jboss/messaging/tests/integration/client/MessagePriorityTest.java
Log:
JBMESSAGING-1560: Client-side message prioritization support
* added (disabled) test highlighting the issue
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/client/MessagePriorityTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/client/MessagePriorityTest.java 2009-03-27 14:51:20 UTC (rev 6198)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/client/MessagePriorityTest.java 2009-03-27 16:09:05 UTC (rev 6199)
@@ -99,7 +99,51 @@
consumer.close();
session.deleteQueue(queue);
}
+
+ /**
+ * in this tests, the session is started and the consumer created *before* the messages are sent.
+ * each message which is sent will be received by the consumer in its buffer and the priority won't be taken
+ * into account.
+ * We need to implement client-side message priority to handle this case: https://jira.jboss.org/jira/browse/JBMESSAGING-1560
+ */
+ public void _testMessagePriorityWithClientSidePrioritization() throws Exception
+ {
+ SimpleString queue = randomSimpleString();
+ SimpleString address = randomSimpleString();
+ session.createQueue(address, queue, false);
+
+ ClientProducer producer = session.createProducer(address);
+ session.start();
+ ClientConsumer consumer = session.createConsumer(queue);
+
+
+ ClientMessage[] messages = new ClientMessage[10];
+ for (int i = 0; i < 10; i++)
+ {
+ ClientMessage m = createTextMessage(Integer.toString(i), session);
+ m.setPriority((byte)i);
+ messages[i] = m;
+ }
+ // send message with lower priority first
+ for (int i = 0; i < 10; i++)
+ {
+ producer.send(messages[i]);
+ }
+
+ // expect to consumer message with higher priority first
+ for (int i = 9; i >= 0; i--)
+ {
+ ClientMessage m = consumer.receive(500);
+ assertNotNull(m);
+ assertEquals(messages[i].getPriority(), m.getPriority());
+ assertEquals(m.getBody().readString(), messages[i].getBody().readString());
+ }
+
+ consumer.close();
+ session.deleteQueue(queue);
+ }
+
public void testMessageOrderWithSamePriority() throws Exception
{
SimpleString queue = randomSimpleString();
More information about the jboss-cvs-commits
mailing list