[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