[hornetq-commits] JBoss hornetq SVN: r9352 - trunk/tests/jms-tests/src/org/hornetq/jms/tests/selector.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Jun 22 15:53:55 EDT 2010


Author: clebert.suconic at jboss.com
Date: 2010-06-22 15:53:54 -0400 (Tue, 22 Jun 2010)
New Revision: 9352

Modified:
   trunk/tests/jms-tests/src/org/hornetq/jms/tests/selector/SelectorTest.java
Log:
Adding test to investigate a customer / user issue

Modified: trunk/tests/jms-tests/src/org/hornetq/jms/tests/selector/SelectorTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/hornetq/jms/tests/selector/SelectorTest.java	2010-06-22 15:25:48 UTC (rev 9351)
+++ trunk/tests/jms-tests/src/org/hornetq/jms/tests/selector/SelectorTest.java	2010-06-22 19:53:54 UTC (rev 9352)
@@ -933,7 +933,125 @@
          }
       }
    }
+   
+  
+   // Test case proposed by a customer on this user forum:
+   // http://community.jboss.org/thread/153426?tstart=0
+   public void under_investigation_testMultipleConsumers() throws Exception
+   {
+      Connection conn = null;
 
+      try
+      {
+         conn = getConnectionFactory().createConnection();
+         
+         conn.setClientID("SomeClientID");
+
+         conn.start();
+
+         Session session = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
+         
+         MessageProducer msgProducer = session.createProducer(HornetQServerTestCase.queue1);
+         
+         TextMessage tm;
+         /* Publish messages */
+         tm = session.createTextMessage();
+         tm.setText("1");
+         tm.setStringProperty("PROP1", "VALUE1");
+         msgProducer.send(tm);
+         System.out.println ("Sent message with id [" + tm.getJMSMessageID() + "]");
+
+         tm = session.createTextMessage();
+         tm.setText("2");
+         tm.setStringProperty("PROP1", "VALUE1");
+         msgProducer.send(tm);
+         System.out.println ("Sent message with id [" + tm.getJMSMessageID() + "]");
+
+         tm = session.createTextMessage();
+         tm.setText("3");
+         tm.setStringProperty("PROP2", "VALUE2");
+         msgProducer.send(tm);
+         System.out.println ("Sent message with id [" + tm.getJMSMessageID() + "]");
+
+         tm = session.createTextMessage();
+         tm.setText("4");
+         tm.setStringProperty("PROP2", "VALUE2");
+         msgProducer.send(tm);
+         System.out.println ("Sent message with id [" + tm.getJMSMessageID() + "]");
+
+         tm = session.createTextMessage();
+         tm.setText("5");
+         tm.setStringProperty("PROP1", "VALUE1");
+         msgProducer.send(tm);
+         System.out.println ("Sent message with id [" + tm.getJMSMessageID() + "]");
+
+         tm = session.createTextMessage();
+         tm.setText("6");
+         tm.setStringProperty("PROP1", "VALUE1");
+         tm.setStringProperty("PROP2", "VALUE2");
+         msgProducer.send(tm);
+         System.out.println ("Sent message with id [" + tm.getJMSMessageID() + "]");
+         msgProducer.close();
+         msgProducer = null;
+         
+         
+         MessageConsumer msgConsumer = session.createConsumer(HornetQServerTestCase.queue1, "PROP2 = 'VALUE2'");
+         
+         tm = (TextMessage) msgConsumer.receive(5000);
+         
+         assertNotNull(tm);
+         
+         assertEquals("3", tm.getText());
+         assertEquals("VALUE2", tm.getStringProperty("PROP2"));
+         
+         tm.acknowledge();
+         
+         conn.close(); // this should close the consumer, producer and session associated with the connection
+
+         
+         // Reopen the connection and consumer
+         
+         conn = getConnectionFactory().createConnection();
+         conn.start();
+ 
+         session = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
+         
+         msgConsumer = session.createConsumer(HornetQServerTestCase.queue1);
+         
+         tm = (TextMessage)msgConsumer.receive(5000);
+         assertEquals("1", tm.getText());
+         assertEquals("VALUE1", tm.getStringProperty("PROP1"));
+         
+         
+         tm = (TextMessage)msgConsumer.receive(5000);
+         assertEquals("2", tm.getText());
+         assertEquals("VALUE1", tm.getStringProperty("PROP1"));
+         
+         tm = (TextMessage)msgConsumer.receive(5000);
+         assertEquals("4", tm.getText());
+         assertEquals("VALUE2", tm.getStringProperty("PROP2"));
+         
+         
+         tm = (TextMessage)msgConsumer.receive(5000);
+         assertEquals("5", tm.getText());
+         assertEquals("VALUE1", tm.getStringProperty("PROP1"));
+         
+         tm = (TextMessage)msgConsumer.receive(5000);
+         assertEquals("6", tm.getText());
+         assertEquals("VALUE1", tm.getStringProperty("PROP1"));
+         assertEquals("VALUE2", tm.getStringProperty("PROP2"));
+         
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+      
+   }
+
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------



More information about the hornetq-commits mailing list