[jboss-cvs] JBoss Messaging SVN: r6220 - in trunk/tests/jms-tests/src/org/jboss/test/messaging/jms: message and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 30 15:38:11 EDT 2009


Author: timfox
Date: 2009-03-30 15:38:11 -0400 (Mon, 30 Mar 2009)
New Revision: 6220

Modified:
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/CTSMiscellaneousTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/ConnectionFactoryTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DeliveryOrderTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTestCase.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageProducerTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageWithReadResolveTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/QueueRequestorTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/SessionTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/TopicTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/XATest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/MessageHeaderTest.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/SimpleJMSMessage.java
   trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/foreign/ForeignStreamMessageTest.java
Log:
cleaned up jms tests and uncommented some

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/CTSMiscellaneousTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/CTSMiscellaneousTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/CTSMiscellaneousTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -71,19 +71,19 @@
          // Deploy a connection factory with load balancing but no failover on node0
          List<String> bindings = new ArrayList<String>();
          bindings.add("StrictTCKConnectionFactory");
-         
-         List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs = 
-            new ArrayList<Pair<TransportConfiguration, TransportConfiguration>>();
-         
-         connectorConfigs.add(new Pair<TransportConfiguration, TransportConfiguration>(new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory"), null));
-         
+
+         List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs = new ArrayList<Pair<TransportConfiguration, TransportConfiguration>>();
+
+         connectorConfigs.add(new Pair<TransportConfiguration, TransportConfiguration>(new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory"),
+                                                                                       null));
+
          List<String> jndiBindings = new ArrayList<String>();
          jndiBindings.add("/StrictTCKConnectionFactory");
-         
+
          getJmsServerManager().createConnectionFactory("StrictTCKConnectionFactory",
                                                        connectorConfigs,
                                                        ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
-                                                       ClientSessionFactoryImpl.DEFAULT_PING_PERIOD,  
+                                                       ClientSessionFactoryImpl.DEFAULT_PING_PERIOD,
                                                        DEFAULT_CONNECTION_TTL,
                                                        ClientSessionFactoryImpl.DEFAULT_CALL_TIMEOUT,
                                                        null,
@@ -99,7 +99,7 @@
                                                        true,
                                                        ClientSessionFactoryImpl.DEFAULT_AUTO_GROUP,
                                                        ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS,
-                                                       ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE,                                                       
+                                                       ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE,
                                                        DEFAULT_RETRY_INTERVAL,
                                                        DEFAULT_RETRY_INTERVAL_MULTIPLIER,
                                                        DEFAULT_RECONNECT_ATTEMPTS,

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/ConnectionFactoryTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/ConnectionFactoryTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/ConnectionFactoryTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -25,7 +25,6 @@
 
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
-import javax.jms.JMSException;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageListener;

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DeliveryOrderTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DeliveryOrderTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DeliveryOrderTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -53,47 +53,47 @@
       try
       {
          conn = cf.createConnection();
-         
+
          Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
-         
+
          Session sess2 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
+
          MessageProducer prod = sess.createProducer(queue1);
-         
+
          MessageConsumer cons = sess2.createConsumer(queue1);
-         
+
          CountDownLatch latch = new CountDownLatch(1);
-         
+
          final int NUM_MESSAGES = 1000;
-                  
+
          MyListener listener = new MyListener(latch, NUM_MESSAGES);
-         
+
          cons.setMessageListener(listener);
-         
+
          conn.start();
-         
+
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
             TextMessage tm = sess.createTextMessage("message" + i);
-            
+
             prod.send(tm);
-            
+
             if (i % 10 == 0)
             {
                sess.commit();
             }
          }
-         
+
          // need extra commit for cases in which the last message index is not a multiple of 10
          sess.commit();
 
          latch.await(20000, MILLISECONDS);
-         
+
          if (listener.failed)
          {
             fail("listener failed: " + listener.getError());
          }
-                  
+
       }
       finally
       {
@@ -103,13 +103,17 @@
          }
       }
    }
-   
+
    class MyListener implements MessageListener
    {
       private int c;
+
       private int num;
+
       private CountDownLatch latch;
+
       private volatile boolean failed;
+
       private String error;
 
       MyListener(CountDownLatch latch, int num)
@@ -129,35 +133,34 @@
          try
          {
             TextMessage tm = (TextMessage)msg;
-            
+
             if (!("message" + c).equals(tm.getText()))
             {
                // Failed
                failed = true;
-               setError("Listener was supposed to get " + ("message" + c) +
-                        " but got " + tm.getText());
+               setError("Listener was supposed to get " + ("message" + c) + " but got " + tm.getText());
                latch.countDown();
             }
-            
+
             c++;
- 
+
             if (c == num)
             {
                latch.countDown();
-               
+
                try
                {
                   Thread.sleep(2000);
                }
                catch (Exception e)
-               {                  
+               {
                }
             }
          }
          catch (JMSException e)
          {
             e.printStackTrace();
-            
+
             // Failed
             failed = true;
             setError("Listener got exception " + e.toString());
@@ -175,7 +178,6 @@
          error = s;
       }
 
-      
    }
 
 }

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/DurableSubscriptionTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -36,7 +36,6 @@
 import javax.jms.Topic;
 import javax.jms.TopicSubscriber;
 
-
 /**
  * Tests focused on durable subscription behavior. More durable subscription tests can be found in
  * MessageConsumerTest.
@@ -61,70 +60,65 @@
    public void testSimplestDurableSubscription() throws Exception
    {
       Connection conn = null;
-      
-//      two problems
-//      1) race somwehere in connectionregistry
-//      2) subs not being deleted - this test reports 8
-      
+
       try
-      {      
-	      conn = cf.createConnection();
-	
-	      conn.setClientID("brookeburke");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	      MessageProducer prod = s.createProducer(topic1);
-	      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
-	
-	      s.createDurableSubscriber(topic1, "monicabelucci");
+      {
+         conn = cf.createConnection();
 
-	      List<String> subs = listAllSubscribersForTopic("Topic1");
-	      
-	      assertNotNull(subs);
-	      
-	      assertEquals(1, subs.size());
-	      
-	      assertEquals("monicabelucci", subs.get(0));
-	
-	      prod.send(s.createTextMessage("k"));
-	
-	      conn.close();
-	
-	      subs = listAllSubscribersForTopic("Topic1");
-	
-	      assertEquals(1, subs.size());
-	      
-	      assertEquals("monicabelucci", subs.get(0));
-	
-	      conn = cf.createConnection();
-	      conn.setClientID("brookeburke");
-	
-	      s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      MessageConsumer durable = s.createDurableSubscriber(topic1, "monicabelucci");
-	
-	      conn.start();
-	
-	      TextMessage tm = (TextMessage)durable.receive(1000);
-	      assertEquals("k", tm.getText());
-	   
-	      Message m = durable.receive(1000);
-	      assertNull(m);
-	      
-	      durable.close();
-	      
-	      s.unsubscribe("monicabelucci");
+         conn.setClientID("brookeburke");
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer prod = s.createProducer(topic1);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         s.createDurableSubscriber(topic1, "monicabelucci");
+
+         List<String> subs = listAllSubscribersForTopic("Topic1");
+
+         assertNotNull(subs);
+
+         assertEquals(1, subs.size());
+
+         assertEquals("monicabelucci", subs.get(0));
+
+         prod.send(s.createTextMessage("k"));
+
+         conn.close();
+
+         subs = listAllSubscribersForTopic("Topic1");
+
+         assertEquals(1, subs.size());
+
+         assertEquals("monicabelucci", subs.get(0));
+
+         conn = cf.createConnection();
+         conn.setClientID("brookeburke");
+
+         s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageConsumer durable = s.createDurableSubscriber(topic1, "monicabelucci");
+
+         conn.start();
+
+         TextMessage tm = (TextMessage)durable.receive(1000);
+         assertEquals("k", tm.getText());
+
+         Message m = durable.receive(1000);
+         assertNull(m);
+
+         durable.close();
+
+         s.unsubscribe("monicabelucci");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
-
    /**
     * JMS 1.1 6.11.1: A client can change an existing durable subscription by creating a durable
     * TopicSubscriber with the same name and a new topic and/or message selector, or NoLocal
@@ -133,47 +127,47 @@
     * Test with a different topic (a redeployed topic is a different topic).
     */
    public void testDurableSubscriptionOnNewTopic() throws Exception
-   {      
+   {
       Connection conn = null;
-      
+
       try
-      {	      
-	      conn = cf.createConnection();
-	
-	      conn.setClientID("brookeburke");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	      MessageProducer prod = s.createProducer(topic1);
-	      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
-	
-	      s.createDurableSubscriber(topic1, "monicabelucci");
-	
-	      prod.send(s.createTextMessage("one"));
-	
-	      conn.close();
-	
-	      conn = cf.createConnection();
-	
-	      conn.setClientID("brookeburke");
-	
-	      s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	      MessageConsumer durable = s.createDurableSubscriber(topic2, "monicabelucci");
-	
-	      conn.start();
-	
-	      Message m = durable.receive(1000);
-	      assertNull(m);
-	      
-	      durable.close();
-	      
-	      s.unsubscribe("monicabelucci");
+      {
+         conn = cf.createConnection();
+
+         conn.setClientID("brookeburke");
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer prod = s.createProducer(topic1);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         s.createDurableSubscriber(topic1, "monicabelucci");
+
+         prod.send(s.createTextMessage("one"));
+
+         conn.close();
+
+         conn = cf.createConnection();
+
+         conn.setClientID("brookeburke");
+
+         s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageConsumer durable = s.createDurableSubscriber(topic2, "monicabelucci");
+
+         conn.start();
+
+         Message m = durable.receive(1000);
+         assertNull(m);
+
+         durable.close();
+
+         s.unsubscribe("monicabelucci");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
@@ -187,286 +181,280 @@
    public void testDurableSubscriptionDifferentSelector() throws Exception
    {
       Connection conn = null;
-      
+
       try
-      {      
-	      conn = cf.createConnection();
-	
-	      conn.setClientID("brookeburke");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	      MessageProducer prod = s.createProducer(topic1);
-	      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
-	      
-	      MessageConsumer durable =
-	         s.createDurableSubscriber(topic1,
-	                                   "monicabelucci",
-	                                   "color = 'red' AND shape = 'square'",
-	                                   false);
-	
-	      TextMessage tm = s.createTextMessage("A red square message");
-	      tm.setStringProperty("color", "red");
-	      tm.setStringProperty("shape", "square");
-	      
-	      prod.send(tm);
-	
-	      conn.start();
-	
-	      TextMessage rm = (TextMessage)durable.receive(5000);
-	      assertEquals("A red square message", rm.getText());
-	
-	      tm = s.createTextMessage("Another red square message");
-	      tm.setStringProperty("color", "red");
-	      tm.setStringProperty("shape", "square");
-	      prod.send(tm);
-	
-	      // TODO: when subscriptions/durable subscription will be registered as MBean, use the JMX
-	      //       interface to make sure the 'another red square message' is maintained by the
-	      //       durable subascription
-	      //       http://jira.jboss.org/jira/browse/JBMESSAGING-217
-	
-	      conn.close();
-	
-	      conn = cf.createConnection();
-	
-	      conn.setClientID("brookeburke");
-	
-	      s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      // modify the selector
-	      durable = s.createDurableSubscriber(topic1,
-	                                          "monicabelucci",
-	                                          "color = 'red'",
-	                                          false);
-	
-	      conn.start();
-	
-	      Message m = durable.receive(1000);
-	
-	      // the durable subscription is destroyed and re-created. The red square message stored by
-	      // the previous durable subscription is lost and (hopefully) garbage collected.
-	      assertNull(m);
-	      
-	      durable.close();
-	      
-	      s.unsubscribe("monicabelucci");
+      {
+         conn = cf.createConnection();
+
+         conn.setClientID("brookeburke");
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageProducer prod = s.createProducer(topic1);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         MessageConsumer durable = s.createDurableSubscriber(topic1,
+                                                             "monicabelucci",
+                                                             "color = 'red' AND shape = 'square'",
+                                                             false);
+
+         TextMessage tm = s.createTextMessage("A red square message");
+         tm.setStringProperty("color", "red");
+         tm.setStringProperty("shape", "square");
+
+         prod.send(tm);
+
+         conn.start();
+
+         TextMessage rm = (TextMessage)durable.receive(5000);
+         assertEquals("A red square message", rm.getText());
+
+         tm = s.createTextMessage("Another red square message");
+         tm.setStringProperty("color", "red");
+         tm.setStringProperty("shape", "square");
+         prod.send(tm);
+
+         // TODO: when subscriptions/durable subscription will be registered as MBean, use the JMX
+         // interface to make sure the 'another red square message' is maintained by the
+         // durable subascription
+         // http://jira.jboss.org/jira/browse/JBMESSAGING-217
+
+         conn.close();
+
+         conn = cf.createConnection();
+
+         conn.setClientID("brookeburke");
+
+         s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         // modify the selector
+         durable = s.createDurableSubscriber(topic1, "monicabelucci", "color = 'red'", false);
+
+         conn.start();
+
+         Message m = durable.receive(1000);
+
+         // the durable subscription is destroyed and re-created. The red square message stored by
+         // the previous durable subscription is lost and (hopefully) garbage collected.
+         assertNull(m);
+
+         durable.close();
+
+         s.unsubscribe("monicabelucci");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
    public void testDurableSubscriptionOnTemporaryTopic() throws Exception
-   {      
+   {
       Connection conn = null;
-      
+
       conn = cf.createConnection();
-      
+
       try
       {
-	      conn.setClientID("doesn't actually matter");
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	      Topic temporaryTopic = s.createTemporaryTopic();
-	
-	      try
-	      {
-	         s.createDurableSubscriber(temporaryTopic, "mySubscription");
-	         fail("this should throw exception");
-	      }
-	      catch(InvalidDestinationException e)
-	      {
-	         // OK
-	      }
+         conn.setClientID("doesn't actually matter");
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Topic temporaryTopic = s.createTemporaryTopic();
+
+         try
+         {
+            s.createDurableSubscriber(temporaryTopic, "mySubscription");
+            fail("this should throw exception");
+         }
+         catch (InvalidDestinationException e)
+         {
+            // OK
+         }
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
-  
    public void testUnsubscribeDurableSubscription() throws Exception
    {
       Connection conn = null;
-      
+
       try
-      {	      
-	      conn = cf.createConnection();
-	      conn.setClientID("ak47");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	      MessageConsumer cons = s.createDurableSubscriber(topic1, "uzzi");
-	      MessageProducer prod = s.createProducer(topic1);
-	      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
-	
-	      prod.send(s.createTextMessage("one"));
-	
-	      cons.close();
-	      s.unsubscribe("uzzi");	
+      {
+         conn = cf.createConnection();
+         conn.setClientID("ak47");
 
-	      MessageConsumer ds = s.createDurableSubscriber(topic1, "uzzi");
-	      conn.start();
-	
-	      assertNull(ds.receive(1000));
-	      
-	      ds.close();
-	      
-	      s.unsubscribe("uzzi");
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         MessageConsumer cons = s.createDurableSubscriber(topic1, "uzzi");
+         MessageProducer prod = s.createProducer(topic1);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+
+         prod.send(s.createTextMessage("one"));
+
+         cons.close();
+         s.unsubscribe("uzzi");
+
+         MessageConsumer ds = s.createDurableSubscriber(topic1, "uzzi");
+         conn.start();
+
+         assertNull(ds.receive(1000));
+
+         ds.close();
+
+         s.unsubscribe("uzzi");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
    public void testInvalidSelectorException() throws Exception
    {
       Connection c = null;
-      
+
       try
       {
-	      
-	      c = cf.createConnection();
-	      c.setClientID("sofiavergara");
-	      Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      try
-	      {
-	         s.createDurableSubscriber(topic1, "mysubscribption", "=TEST 'test'", true);
-	         fail("this should fail");
-	      }
-	      catch(InvalidSelectorException e)
-	      {
-	         // OK
-	      }
+
+         c = cf.createConnection();
+         c.setClientID("sofiavergara");
+         Session s = c.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         try
+         {
+            s.createDurableSubscriber(topic1, "mysubscribption", "=TEST 'test'", true);
+            fail("this should fail");
+         }
+         catch (InvalidSelectorException e)
+         {
+            // OK
+         }
       }
       finally
       {
-      	if (c != null)
-      	{
-      		c.close();
-      	}
+         if (c != null)
+         {
+            c.close();
+         }
       }
    }
 
-
-   //See JMS 1.1. spec sec 6.11
+   // See JMS 1.1. spec sec 6.11
    public void testUnsubscribeWithActiveConsumer() throws Exception
    {
       Connection conn = null;
-      
+
       try
       {
-	      
-	      conn = cf.createConnection();
-	      conn.setClientID("zeke");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      TopicSubscriber dursub = s.createDurableSubscriber(topic1, "dursub0");
-	
-	      try
-	      {
-	         s.unsubscribe("dursub0");
-	         fail();
-	      }
-	      catch (IllegalStateException e)
-	      {
-	         //Ok - it is illegal to ubscribe a subscription if it has active consumers
-	      }
-	         
-	      dursub.close();
-	      
-	      s.unsubscribe("dursub0");
+
+         conn = cf.createConnection();
+         conn.setClientID("zeke");
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         TopicSubscriber dursub = s.createDurableSubscriber(topic1, "dursub0");
+
+         try
+         {
+            s.unsubscribe("dursub0");
+            fail();
+         }
+         catch (IllegalStateException e)
+         {
+            // Ok - it is illegal to ubscribe a subscription if it has active consumers
+         }
+
+         dursub.close();
+
+         s.unsubscribe("dursub0");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
-   
+
    public void testSubscribeWithActiveSubscription() throws Exception
    {
       Connection conn = null;
-      
+
       try
       {
-	      
-	      conn = cf.createConnection();
-	      conn.setClientID("zeke");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      TopicSubscriber dursub1 = s.createDurableSubscriber(topic1, "dursub1");
-	
-	      try
-	      {      
-	      	s.createDurableSubscriber(topic1, "dursub1");
-	         fail();
-	      }
-	      catch (IllegalStateException e)
-	      {
-	         //Ok - it is illegal to have more than one active subscriber on a subscrtiption at any one time
-	      }
-	         
-	      dursub1.close();
-	      
-	      s.unsubscribe("dursub1");
+
+         conn = cf.createConnection();
+         conn.setClientID("zeke");
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         TopicSubscriber dursub1 = s.createDurableSubscriber(topic1, "dursub1");
+
+         try
+         {
+            s.createDurableSubscriber(topic1, "dursub1");
+            fail();
+         }
+         catch (IllegalStateException e)
+         {
+            // Ok - it is illegal to have more than one active subscriber on a subscrtiption at any one time
+         }
+
+         dursub1.close();
+
+         s.unsubscribe("dursub1");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
    public void testDurableSubscriptionWithPeriodsInName() throws Exception
    {
       Connection conn = null;
-      
+
       try
-      {	      
-	      conn = cf.createConnection();
-	      conn.setClientID(".client.id.with.periods.");
-	
-	      Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      TopicSubscriber subscriber = s.createDurableSubscriber(topic1, ".subscription.name.with.periods.");
-	      
-	      s.createProducer(topic1).send(s.createTextMessage("Subscription test"));
-	      
-	      conn.start();
-	
-	      Message m = subscriber.receive(1000L);
-	      
-	      assertNotNull(m);
-	      assertTrue(m instanceof TextMessage);
-	
-	      subscriber.close();
-	      
-	      s.unsubscribe(".subscription.name.with.periods.");
+      {
+         conn = cf.createConnection();
+         conn.setClientID(".client.id.with.periods.");
+
+         Session s = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         TopicSubscriber subscriber = s.createDurableSubscriber(topic1, ".subscription.name.with.periods.");
+
+         s.createProducer(topic1).send(s.createTextMessage("Subscription test"));
+
+         conn.start();
+
+         Message m = subscriber.receive(1000L);
+
+         assertNotNull(m);
+         assertTrue(m instanceof TextMessage);
+
+         subscriber.close();
+
+         s.unsubscribe(".subscription.name.with.periods.");
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -63,39 +63,39 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
 
-	      TextMessage m = session.createTextMessage("message one");
+         TextMessage m = session.createTextMessage("message one");
 
-	      prod.send(m);
+         prod.send(m);
 
-	      conn.close();
+         conn.close();
 
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage rm = (TextMessage)cons.receive();
-	      
-	      assertNotNull(rm);
+         TextMessage rm = (TextMessage)cons.receive();
 
-	      assertEquals("message one", rm.getText());
+         assertNotNull(rm);
+
+         assertEquals("message one", rm.getText());
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
@@ -105,39 +105,39 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
 
-	      TextMessage m = session.createTextMessage();
+         TextMessage m = session.createTextMessage();
 
-	      m.setText("message one");
+         m.setText("message one");
 
-	      prod.send(m);
+         prod.send(m);
 
-	      conn.close();
+         conn.close();
 
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage rm = (TextMessage)cons.receive();
+         TextMessage rm = (TextMessage)cons.receive();
 
-	      assertEquals("message one", rm.getText());
+         assertEquals("message one", rm.getText());
       }
       finally
       {
-      	if (conn != null)
-      	{
-      		conn.close();
-      	}
+         if (conn != null)
+         {
+            conn.close();
+         }
       }
    }
 
@@ -147,38 +147,38 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
 
-	      TextMessage m = session.createTextMessage("message one");
+         TextMessage m = session.createTextMessage("message one");
 
-	      prod.send(m);
+         prod.send(m);
 
-	      conn.close();
+         conn.close();
 
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage rm = (TextMessage)cons.receive();
+         TextMessage rm = (TextMessage)cons.receive();
 
-	      assertEquals("message one", rm.getText());
-	   }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+         assertEquals("message one", rm.getText());
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void test_NonPersistent_Transactional_Send() throws Exception
@@ -187,42 +187,42 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
+         Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
 
-	      TextMessage m = session.createTextMessage("message one");
-	      prod.send(m);
-	      m = session.createTextMessage("message two");
-	      prod.send(m);
+         TextMessage m = session.createTextMessage("message one");
+         prod.send(m);
+         m = session.createTextMessage("message two");
+         prod.send(m);
 
-	      session.commit();
+         session.commit();
 
-	      conn.close();
+         conn.close();
 
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage rm = (TextMessage)cons.receive();
-	      assertEquals("message one", rm.getText());
-	      rm = (TextMessage)cons.receive();
-	      assertEquals("message two", rm.getText());
+         TextMessage rm = (TextMessage)cons.receive();
+         assertEquals("message one", rm.getText());
+         rm = (TextMessage)cons.receive();
+         assertEquals("message two", rm.getText());
       }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void test_Persistent_Transactional_Send() throws Exception
@@ -231,82 +231,81 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
+         Session session = conn.createSession(true, Session.SESSION_TRANSACTED);
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.PERSISTENT);
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.PERSISTENT);
 
-	      TextMessage m = session.createTextMessage("message one");
-	      prod.send(m);
-	      m = session.createTextMessage("message two");
-	      prod.send(m);
+         TextMessage m = session.createTextMessage("message one");
+         prod.send(m);
+         m = session.createTextMessage("message two");
+         prod.send(m);
 
-	      session.commit();
+         session.commit();
 
-	      conn.close();
+         conn.close();
 
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage rm = (TextMessage)cons.receive();
-	      assertEquals("message one", rm.getText());
-	      rm = (TextMessage)cons.receive();
+         TextMessage rm = (TextMessage)cons.receive();
+         assertEquals("message one", rm.getText());
+         rm = (TextMessage)cons.receive();
          assertEquals("message two", rm.getText());
       }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
-
    public void test_NonPersistent_Transactional_Acknowledgment() throws Exception
    {
       Connection conn = null;
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-	      TextMessage m = session.createTextMessage("one");
-	      prod.send(m);
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+         TextMessage m = session.createTextMessage("one");
+         prod.send(m);
 
-	      conn.close();
+         conn.close();
 
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      session = conn.createSession(true, Session.SESSION_TRANSACTED);
+         session = conn.createSession(true, Session.SESSION_TRANSACTED);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage rm = (TextMessage)cons.receive();
-	      assertEquals("one", rm.getText());
+         TextMessage rm = (TextMessage)cons.receive();
+         assertEquals("one", rm.getText());
 
-	      session.commit();
+         session.commit();
       }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void test_Asynchronous_to_Client() throws Exception
@@ -315,64 +314,64 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      final Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         final Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      final MessageConsumer cons = session.createConsumer(queue1);
+         final MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
          final AtomicReference<Message> message = new AtomicReference<Message>();
          final CountDownLatch latch = new CountDownLatch(1);
 
          new Thread(new Runnable()
-	      {
-	         public void run()
-	         {
-	            try
-	            {
-	               synchronized (session)
-	               {
-   	               Message m = cons.receive(5000);
-   	               if (m != null)
-   	               {
-   	                  message.set(m);
-   	                  latch.countDown();
-   	               }
-	               }
-	            }
-	            catch(Exception e)
-	            {
-	               log.error("receive failed", e);
-	            }
+         {
+            public void run()
+            {
+               try
+               {
+                  synchronized (session)
+                  {
+                     Message m = cons.receive(5000);
+                     if (m != null)
+                     {
+                        message.set(m);
+                        latch.countDown();
+                     }
+                  }
+               }
+               catch (Exception e)
+               {
+                  log.error("receive failed", e);
+               }
 
-	         }
-	      }, "Receiving Thread").start();
+            }
+         }, "Receiving Thread").start();
 
          synchronized (session)
          {
-   	      MessageProducer prod = session.createProducer(queue1);
-   	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-   
-   	      TextMessage m = session.createTextMessage("message one");
-   
-   	      prod.send(m);
+            MessageProducer prod = session.createProducer(queue1);
+            prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+
+            TextMessage m = session.createTextMessage("message one");
+
+            prod.send(m);
          }
 
-	      boolean gotMessage = latch.await(5000, TimeUnit.MILLISECONDS);
-	      assertTrue(gotMessage);
-	      TextMessage rm = (TextMessage) message.get();
+         boolean gotMessage = latch.await(5000, TimeUnit.MILLISECONDS);
+         assertTrue(gotMessage);
+         TextMessage rm = (TextMessage)message.get();
 
-	      assertEquals("message one", rm.getText());
+         assertEquals("message one", rm.getText());
       }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void test_MessageListener() throws Exception
@@ -381,44 +380,44 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      final AtomicReference<Message> message = new AtomicReference<Message>();
-	      final CountDownLatch latch = new CountDownLatch(1);
-	      
-	      cons.setMessageListener(new MessageListener()
-	      {
-	         public void onMessage(Message m)
-	         {
-	            message.set(m);
-	            latch.countDown();
-	         }
-	      });
+         final AtomicReference<Message> message = new AtomicReference<Message>();
+         final CountDownLatch latch = new CountDownLatch(1);
 
-	      conn.start();
+         cons.setMessageListener(new MessageListener()
+         {
+            public void onMessage(Message m)
+            {
+               message.set(m);
+               latch.countDown();
+            }
+         });
 
-	      MessageProducer prod = session.createProducer(queue1);
-	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-	      TextMessage m = session.createTextMessage("one");
-	      prod.send(m);
+         conn.start();
 
-	      boolean gotMessage = latch.await(5000, MILLISECONDS);
-	      assertTrue(gotMessage);
-	      TextMessage rm = (TextMessage) message.get();
+         MessageProducer prod = session.createProducer(queue1);
+         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+         TextMessage m = session.createTextMessage("one");
+         prod.send(m);
 
-	      assertEquals("one", rm.getText());
+         boolean gotMessage = latch.await(5000, MILLISECONDS);
+         assertTrue(gotMessage);
+         TextMessage rm = (TextMessage)message.get();
+
+         assertEquals("one", rm.getText());
       }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void test_ClientAcknowledge() throws Exception
@@ -427,38 +426,36 @@
 
       try
       {
-	      conn = cf.createConnection();
+         conn = cf.createConnection();
 
-	      Session session = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-	      MessageProducer p = session.createProducer(queue1);
-	      p.send(session.createTextMessage("CLACK"));
+         Session session = conn.createSession(false, Session.CLIENT_ACKNOWLEDGE);
+         MessageProducer p = session.createProducer(queue1);
+         p.send(session.createTextMessage("CLACK"));
 
-	      MessageConsumer cons = session.createConsumer(queue1);
+         MessageConsumer cons = session.createConsumer(queue1);
 
-	      conn.start();
+         conn.start();
 
-	      TextMessage m = (TextMessage)cons.receive(1000);
+         TextMessage m = (TextMessage)cons.receive(1000);
 
-	      assertEquals("CLACK", m.getText());
+         assertEquals("CLACK", m.getText());
 
-	      // make sure the message is still in "delivering" state
-	      assertRemainingMessages(1);
+         // make sure the message is still in "delivering" state
+         assertRemainingMessages(1);
 
-	      m.acknowledge();
+         m.acknowledge();
 
-	      assertRemainingMessages(0);
+         assertRemainingMessages(0);
       }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
-
-
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTestCase.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTestCase.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/JMSTestCase.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -47,19 +47,18 @@
       // All jms tests should use a specific cg which has blockOnAcknowledge = true and
       // both np and p messages are sent synchronously
 
-      List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs =
-         new ArrayList<Pair<TransportConfiguration, TransportConfiguration>>();
-      
-      connectorConfigs.add(new Pair<TransportConfiguration, TransportConfiguration>(new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory"), null));
-      
+      List<Pair<TransportConfiguration, TransportConfiguration>> connectorConfigs = new ArrayList<Pair<TransportConfiguration, TransportConfiguration>>();
+
+      connectorConfigs.add(new Pair<TransportConfiguration, TransportConfiguration>(new TransportConfiguration("org.jboss.messaging.integration.transports.netty.NettyConnectorFactory"),
+                                                                                    null));
+
       List<String> jndiBindings = new ArrayList<String>();
       jndiBindings.add("/testsuitecf");
-      
-      
+
       getJmsServerManager().createConnectionFactory("testsuitecf",
                                                     connectorConfigs,
                                                     ClientSessionFactoryImpl.DEFAULT_CONNECTION_LOAD_BALANCING_POLICY_CLASS_NAME,
-                                                    ClientSessionFactoryImpl.DEFAULT_PING_PERIOD,    
+                                                    ClientSessionFactoryImpl.DEFAULT_PING_PERIOD,
                                                     DEFAULT_CONNECTION_TTL,
                                                     ClientSessionFactoryImpl.DEFAULT_CALL_TIMEOUT,
                                                     null,
@@ -75,25 +74,24 @@
                                                     true,
                                                     ClientSessionFactoryImpl.DEFAULT_AUTO_GROUP,
                                                     ClientSessionFactoryImpl.DEFAULT_MAX_CONNECTIONS,
-                                                    ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE,                                   
+                                                    ClientSessionFactoryImpl.DEFAULT_PRE_ACKNOWLEDGE,
                                                     DEFAULT_RETRY_INTERVAL,
                                                     DEFAULT_RETRY_INTERVAL_MULTIPLIER,
                                                     DEFAULT_RECONNECT_ATTEMPTS,
                                                     DEFAULT_FAILOVER_ON_SERVER_SHUTDOWN,
                                                     jndiBindings);
-      
+
       cf = (JBossConnectionFactory)getInitialContext().lookup("/testsuitecf");
-      
+
       assertRemainingMessages(0);
    }
-   
 
    protected void tearDown() throws Exception
    {
       super.tearDown();
       getJmsServerManager().destroyConnectionFactory("testsuitecf");
       cf = null;
-      
+
       assertRemainingMessages(0);
    }
 }

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageConsumerTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -29,6 +29,7 @@
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.jms.BytesMessage;
 import javax.jms.Connection;
@@ -98,7 +99,7 @@
 
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
-            TextMessage tm = (TextMessage) cons.receive(500);
+            TextMessage tm = (TextMessage)cons.receive(500);
 
             assertNotNull(tm);
 
@@ -120,7 +121,6 @@
       }
    }
 
-
    public void testRelayMessage() throws Exception
    {
       Connection conn = null;
@@ -132,7 +132,7 @@
          conn.start();
 
          final Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-         
+
          final MessageProducer prod = sess.createProducer(queue2);
 
          MessageConsumer cons = sess.createConsumer(queue1);
@@ -176,7 +176,7 @@
          MyListener listener = new MyListener();
 
          cons.setMessageListener(listener);
-         
+
          final Session sess2 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
          MessageProducer prod2 = sess2.createProducer(queue1);
@@ -203,7 +203,6 @@
       }
    }
 
-
    /*
     * If there are two competing consumers on a queue/subscription then if one closes
     * and has unacknowledged deliveries these should be cancelled but also
@@ -239,7 +238,7 @@
 
          prod.send(tm);
 
-         TextMessage tm2 = (TextMessage) cons1.receive();
+         TextMessage tm2 = (TextMessage)cons1.receive();
 
          assertNotNull(tm2);
 
@@ -254,10 +253,10 @@
          MessageConsumer cons2 = sessConsume2.createConsumer(queue1);
 
          // this should cancel message and cause delivery to other consumer
-;
+         ;
          sessConsume1.close();
 
-         TextMessage tm3 = (TextMessage) cons2.receive(1000);
+         TextMessage tm3 = (TextMessage)cons2.receive(1000);
 
          assertNotNull(tm3);
 
@@ -274,7 +273,6 @@
       }
    }
 
-
    /**
     * The simplest possible receive() test for a non-persistent message.
     */
@@ -307,7 +305,7 @@
 
          queueProducer.send(tm);
 
-         TextMessage m = (TextMessage) queueConsumer.receive();
+         TextMessage m = (TextMessage)queueConsumer.receive();
 
          assertEquals(tm.getText(), m.getText());
       }
@@ -354,7 +352,7 @@
 
          queueProducer.send(tm);
 
-         TextMessage m = (TextMessage) queueConsumer.receive();
+         TextMessage m = (TextMessage)queueConsumer.receive();
 
          assertEquals(tm.getText(), m.getText());
       }
@@ -371,7 +369,6 @@
       }
    }
 
-
    /**
     * The simplest possible receive(timeout) test.
     */
@@ -402,7 +399,7 @@
          // start consumer connection after the message is submitted
          consumerConnection.start();
 
-         TextMessage m = (TextMessage) queueConsumer.receive(2000);
+         TextMessage m = (TextMessage)queueConsumer.receive(2000);
 
          assertEquals(tm.getText(), m.getText());
       }
@@ -449,16 +446,16 @@
          // start consumer connection after the message is submitted
          consumerConnection.start();
 
-         //NOTE! There semantics of receiveNoWait do not guarantee the message is available
-         //immediately after the message is sent
-         //It will be available some indeterminate time later.
-         //This is fine and as per spec.
-         //To implement receiveNoWait otherwise would be very costly
-         //Also other messaging systems e.g. Sun, ActiveMQ implement it this way
+         // NOTE! There semantics of receiveNoWait do not guarantee the message is available
+         // immediately after the message is sent
+         // It will be available some indeterminate time later.
+         // This is fine and as per spec.
+         // To implement receiveNoWait otherwise would be very costly
+         // Also other messaging systems e.g. Sun, ActiveMQ implement it this way
 
          Thread.sleep(500);
 
-         TextMessage m = (TextMessage) queueConsumer.receiveNoWait();
+         TextMessage m = (TextMessage)queueConsumer.receiveNoWait();
 
          assertEquals(tm.getText(), m.getText());
       }
@@ -512,7 +509,7 @@
          // wait for the listener to receive the message
          l.waitForMessages();
 
-         TextMessage m = (TextMessage) l.getNextMessage();
+         TextMessage m = (TextMessage)l.getNextMessage();
 
          assertEquals(tm.getText(), m.getText());
       }
@@ -642,14 +639,14 @@
 
          MessageConsumer cons = sessReceive.createConsumer(queue1);
 
-         TextMessage m2 = (TextMessage) cons.receive(1500);
+         TextMessage m2 = (TextMessage)cons.receive(1500);
 
          assertNotNull(m2);
 
          assertEquals("hello", m2.getText());
 
-         //It is legal to close the consumer before committing the tx which is when
-         //the acks are sent
+         // It is legal to close the consumer before committing the tx which is when
+         // the acks are sent
          cons.close();
 
          sessReceive.commit();
@@ -661,12 +658,13 @@
       }
       finally
       {
-         if (connSend != null) connSend.close();
-         if (connReceive != null) connReceive.close();
+         if (connSend != null)
+            connSend.close();
+         if (connReceive != null)
+            connReceive.close();
       }
    }
 
-
    public void testClientAcknowledgmentOnClosedConsumer() throws Exception
    {
       Connection producerConnection = null;
@@ -695,7 +693,7 @@
 
          consumerConnection.start();
 
-         TextMessage m = (TextMessage) queueConsumer.receive(1500);
+         TextMessage m = (TextMessage)queueConsumer.receive(1500);
 
          assertEquals(m.getText(), "One");
 
@@ -726,7 +724,6 @@
       }
    }
 
-
    public void testSendMessageAndCloseConsumer1() throws Exception
    {
       Connection producerConnection = null;
@@ -778,7 +775,6 @@
       removeAllMessages(queue1.getQueueName(), true);
    }
 
-
    /**
     * Basically the same test as before, with more than one message and a slightly different
     * way of checking the messages are back in the queue.
@@ -815,7 +811,7 @@
 
          consumerConnection.start();
 
-         TextMessage m = (TextMessage) queueConsumer.receive(1500);
+         TextMessage m = (TextMessage)queueConsumer.receive(1500);
 
          assertEquals("One", m.getText());
 
@@ -827,7 +823,7 @@
 
          MessageConsumer queueConsumer2 = consumerSession.createConsumer(queue1);
 
-         m = (TextMessage) queueConsumer2.receive(1500);
+         m = (TextMessage)queueConsumer2.receive(1500);
 
          assertNotNull(m);
 
@@ -869,7 +865,7 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive();
+         TextMessage rm1 = (TextMessage)cons1.receive();
          assertNotNull(rm1);
          assertEquals("a", rm1.getText());
 
@@ -879,11 +875,11 @@
 
          sess.commit();
 
-         TextMessage rm2 = (TextMessage) cons2.receive(1500);
+         TextMessage rm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm2);
          assertEquals("b", rm2.getText());
 
-         TextMessage rm3 = (TextMessage) cons2.receive(1500);
+         TextMessage rm3 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm3);
          assertEquals("c", rm3.getText());
 
@@ -902,7 +898,6 @@
       }
    }
 
-
    public void testRedel1() throws Exception
    {
       Connection conn = null;
@@ -924,7 +919,7 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive(1500);
+         TextMessage rm1 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm1);
          assertEquals("hello1", rm1.getText());
 
@@ -934,11 +929,11 @@
 
          sess.commit();
 
-         TextMessage rm2 = (TextMessage) cons2.receive(1500);
+         TextMessage rm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm2);
          assertEquals("hello2", rm2.getText());
 
-         TextMessage rm3 = (TextMessage) cons2.receive(1500);
+         TextMessage rm3 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm3);
          assertEquals("hello3", rm3.getText());
 
@@ -978,7 +973,7 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive(1500);
+         TextMessage rm1 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm1);
          assertEquals("hello1-a", rm1.getText());
 
@@ -988,11 +983,11 @@
 
          MessageConsumer cons2 = sess.createConsumer(queue1);
 
-         TextMessage rm2 = (TextMessage) cons2.receive(1500);
+         TextMessage rm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm2);
          assertEquals("hello2-a", rm2.getText());
 
-         TextMessage rm3 = (TextMessage) cons2.receive(1500);
+         TextMessage rm3 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm3);
          assertEquals("hello3-a", rm3.getText());
 
@@ -1033,24 +1028,24 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive(1500);
+         TextMessage rm1 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm1);
          assertEquals("hello1", rm1.getText());
          log.trace(rm1.getJMSMessageID());
 
          log.trace("rolling back");
-         //rollback should cause redelivery of messages not acked
+         // rollback should cause redelivery of messages not acked
          sess.rollback();
          log.trace("rolled back");
 
-         TextMessage rm2 = (TextMessage) cons1.receive(1500);
+         TextMessage rm2 = (TextMessage)cons1.receive(1500);
          assertEquals("hello1", rm2.getText());
          log.trace(rm1.getJMSMessageID());
 
-         TextMessage rm3 = (TextMessage) cons1.receive(1500);
+         TextMessage rm3 = (TextMessage)cons1.receive(1500);
          assertEquals("hello2", rm3.getText());
 
-         TextMessage rm4 = (TextMessage) cons1.receive(1500);
+         TextMessage rm4 = (TextMessage)cons1.receive(1500);
          assertEquals("hello3", rm4.getText());
 
          sess.commit();
@@ -1062,7 +1057,7 @@
             conn.close();
          }
 
-         //This last step is important - there shouldn't be any more messages to receive
+         // This last step is important - there shouldn't be any more messages to receive
          checkEmpty(queue1);
 
          removeAllMessages(queue1.getQueueName(), true);
@@ -1090,29 +1085,29 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive(1500);
+         TextMessage rm1 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm1);
          assertEquals("hello1", rm1.getText());
 
          cons1.close();
 
-         //rollback should cause redelivery of messages
+         // rollback should cause redelivery of messages
 
-         //in this case redelivery occurs to a different receiver
+         // in this case redelivery occurs to a different receiver
 
          sess.rollback();
 
          MessageConsumer cons2 = sess.createConsumer(queue1);
 
-         TextMessage rm2 = (TextMessage) cons2.receive(1500);
+         TextMessage rm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm2);
          assertEquals("hello1", rm2.getText());
 
-         TextMessage rm3 = (TextMessage) cons2.receive(1500);
+         TextMessage rm3 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm3);
          assertEquals("hello2", rm3.getText());
 
-         TextMessage rm4 = (TextMessage) cons2.receive(1500);
+         TextMessage rm4 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm4);
          assertEquals("hello3", rm4.getText());
 
@@ -1125,14 +1120,13 @@
             conn.close();
          }
 
-         //This last step is important - there shouldn't be any more messages to receive
+         // This last step is important - there shouldn't be any more messages to receive
          checkEmpty(queue1);
 
          removeAllMessages(queue1.getQueueName(), true);
       }
    }
 
-
    public void testRedel5() throws Exception
    {
       Connection conn = null;
@@ -1153,22 +1147,22 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive(1500);
+         TextMessage rm1 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm1);
          assertEquals("hello1", rm1.getText());
 
-         //redeliver
+         // redeliver
          sess.recover();
- 
-         TextMessage rm2 = (TextMessage) cons1.receive(1500);
+
+         TextMessage rm2 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm2);
          assertEquals("hello1", rm2.getText());
 
-         TextMessage rm3 = (TextMessage) cons1.receive(1500);
+         TextMessage rm3 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm3);
          assertEquals("hello2", rm3.getText());
 
-         TextMessage rm4 = (TextMessage) cons1.receive(1500);
+         TextMessage rm4 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm4);
          assertEquals("hello3", rm4.getText());
 
@@ -1181,7 +1175,7 @@
             conn.close();
          }
 
-         //This last step is important - there shouldn't be any more messages to receive
+         // This last step is important - there shouldn't be any more messages to receive
          checkEmpty(queue1);
 
          removeAllMessages(queue1.getQueueName(), true);
@@ -1208,7 +1202,7 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage rm1 = (TextMessage) cons1.receive(1500);
+         TextMessage rm1 = (TextMessage)cons1.receive(1500);
          assertNotNull(rm1);
          assertEquals("hello1", rm1.getText());
 
@@ -1216,22 +1210,22 @@
 
          log.debug("sess.recover()");
 
-         //redeliver
+         // redeliver
          sess.recover();
 
          MessageConsumer cons2 = sess.createConsumer(queue1);
 
          log.debug("receiving ...");
 
-         TextMessage rm2 = (TextMessage) cons2.receive(1500);
+         TextMessage rm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm2);
          assertEquals("hello1", rm2.getText());
 
-         TextMessage rm3 = (TextMessage) cons2.receive(1500);
+         TextMessage rm3 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm3);
          assertEquals("hello2", rm3.getText());
 
-         TextMessage rm4 = (TextMessage) cons2.receive(1500);
+         TextMessage rm4 = (TextMessage)cons2.receive(1500);
          assertNotNull(rm4);
          assertEquals("hello3", rm4.getText());
 
@@ -1244,7 +1238,7 @@
             conn.close();
          }
 
-         //This last step is important - there shouldn't be any more messages to receive
+         // This last step is important - there shouldn't be any more messages to receive
          checkEmpty(queue1);
 
          removeAllMessages(queue1.getQueueName(), true);
@@ -1279,20 +1273,19 @@
 
          MessageConsumer cons1 = sess.createConsumer(queue1);
 
-         TextMessage r1 = (TextMessage) cons1.receive();
+         TextMessage r1 = (TextMessage)cons1.receive();
 
          assertEquals(tm1.getText(), r1.getText());
 
          cons1.close();
 
-
          MessageConsumer cons2 = sess.createConsumer(queue1);
 
-         TextMessage r2 = (TextMessage) cons2.receive();
+         TextMessage r2 = (TextMessage)cons2.receive();
 
          assertEquals(tm2.getText(), r2.getText());
 
-         TextMessage r3 = (TextMessage) cons2.receive();
+         TextMessage r3 = (TextMessage)cons2.receive();
 
          assertEquals(tm3.getText(), r3.getText());
 
@@ -1325,7 +1318,7 @@
 
          MessageProducer prod = sess.createProducer(queue1);
 
-         //Send 3 messages
+         // Send 3 messages
 
          prod.send(sess.createTextMessage("1"));
          prod.send(sess.createTextMessage("2"));
@@ -1343,7 +1336,7 @@
          Message r2 = cons2.receive();
          Message r3 = cons2.receive();
 
-         //Messages should be received?
+         // Messages should be received?
          assertNotNull(r1);
          assertNotNull(r2);
          assertNotNull(r3);
@@ -1388,7 +1381,7 @@
 
          MessageConsumer cons = sessReceive.createConsumer(queue1);
 
-         TextMessage m2 = (TextMessage) cons.receive(1500);
+         TextMessage m2 = (TextMessage)cons.receive(1500);
 
          assertNotNull(m2);
 
@@ -1410,14 +1403,15 @@
       }
       finally
       {
-         if (connSend != null) connSend.close();
-         if (connReceive != null) connReceive.close();
+         if (connSend != null)
+            connSend.close();
+         if (connReceive != null)
+            connReceive.close();
 
          checkEmpty(queue1);
       }
    }
 
-
    public void testMultipleConcurrentConsumers() throws Exception
    {
       Connection producerConnection = null;
@@ -1449,6 +1443,7 @@
             }
 
             MessageConsumer cons;
+
             boolean failed;
 
             public void run()
@@ -1457,7 +1452,7 @@
                {
                   for (int i = 0; i < NUM_MESSAGES; i++)
                   {
-                     TextMessage m = (TextMessage) cons.receive(5000);
+                     TextMessage m = (TextMessage)cons.receive(5000);
                      if (m == null)
                      {
                         log.error("Didn't receive all the messages");
@@ -1479,7 +1474,6 @@
             }
          }
 
-
          Receiver rec1 = new Receiver(cons1);
          Receiver rec2 = new Receiver(cons2);
          Receiver rec3 = new Receiver(cons3);
@@ -1534,7 +1528,6 @@
       }
    }
 
-
    public void testGetSelector() throws Exception
    {
       Connection consumerConnection = null;
@@ -1592,7 +1585,6 @@
       }
    }
 
-
    public void testGetTopic() throws Exception
    {
       Connection consumerConnection = null;
@@ -1605,7 +1597,7 @@
 
          MessageConsumer topicConsumer = consumerSession.createConsumer(topic1);
 
-         Topic t = ((TopicSubscriber) topicConsumer).getTopic();
+         Topic t = ((TopicSubscriber)topicConsumer).getTopic();
 
          assertEquals(topic1, t);
       }
@@ -1634,7 +1626,7 @@
 
          try
          {
-            ((TopicSubscriber) topicConsumer).getTopic();
+            ((TopicSubscriber)topicConsumer).getTopic();
          }
          catch (javax.jms.IllegalStateException e)
          {
@@ -1650,7 +1642,6 @@
       }
    }
 
-
    public void testGetQueue() throws Exception
    {
       Connection consumerConnection = null;
@@ -1663,7 +1654,7 @@
 
          MessageConsumer queueConsumer = consumerSession.createConsumer(queue1);
 
-         Queue q = ((QueueReceiver) queueConsumer).getQueue();
+         Queue q = ((QueueReceiver)queueConsumer).getQueue();
 
          assertEquals(queue1, q);
       }
@@ -1692,7 +1683,7 @@
 
          try
          {
-            ((QueueReceiver) queueConsumer).getQueue();
+            ((QueueReceiver)queueConsumer).getQueue();
          }
          catch (javax.jms.IllegalStateException e)
          {
@@ -1708,7 +1699,6 @@
       }
    }
 
-
    public void testReceiveOnTopicTimeoutNoMessage() throws Exception
    {
       Connection consumerConnection = null;
@@ -1787,7 +1777,6 @@
       }
    }
 
-
    public void testReceiveOnTopicTimeout() throws Exception
    {
       Connection producerConnection = null;
@@ -1844,7 +1833,6 @@
       }
    }
 
-
    public void testReceiveOnTopic() throws Exception
    {
       Connection producerConnection = null;
@@ -2018,7 +2006,6 @@
       }
    }
 
-
    /**
     * The test sends a burst of messages and verifies if the consumer receives all of them.
     */
@@ -2148,7 +2135,9 @@
    {
 
       Object waitMonitor;
+
       long timeToSleep;
+
       MessageConsumer topicConsumer;
 
       public ThreadCloser(Object waitMonitor, long timeToSleep, MessageConsumer topicConsumer)
@@ -2158,7 +2147,6 @@
          this.topicConsumer = topicConsumer;
       }
 
-
       public void run()
       {
          try
@@ -2186,10 +2174,15 @@
    {
 
       long timeToWait;
+
       Object waitMonitor;
+
       long t1;
+
       long t2;
+
       Object receivedObject;
+
       MessageConsumer topicConsumer;
 
       public ThreadReceiver(Object waitMonitor, long timeToWait, MessageConsumer topicConsumer)
@@ -2232,10 +2225,11 @@
 
          MessageConsumer topicConsumer = consumerSession.createConsumer(topic1);
 
-         //This is a really weird test - the received object is always going to be null since no message is sent!!
+         // This is a really weird test - the received object is always going to be null since no message is sent!!
 
-         forceGC();       /// If A GC need to be executed, it' s better to be executed now
-         if (log.isTraceEnabled()) log.trace("testTimeoutReceiveOnClose");
+         forceGC(); // / If A GC need to be executed, it' s better to be executed now
+         if (log.isTraceEnabled())
+            log.trace("testTimeoutReceiveOnClose");
 
          Object monitor = new Object();
          ThreadCloser closer = null;
@@ -2256,7 +2250,8 @@
          assertNull(receiver.receivedObject);
 
          // We need to make sure the
-         assertTrue("Receive was supposed to receive a notification before 2 seconds", receiver.t2 - receiver.t1 <= 1500);
+         assertTrue("Receive was supposed to receive a notification before 2 seconds",
+                    receiver.t2 - receiver.t1 <= 1500);
       }
       finally
       {
@@ -2318,75 +2313,126 @@
       }
    }
 
-////   TODO: enable this
-////   public void testMessageListenerOnTopicMultipleMessages() throws Exception
-////   {
-////      log.debug("testMessageListenerOnTopicMultipleMessages");
-////
-////      MessageListenerImpl l = new MessageListenerImpl();
-////      topicConsumer.setMessageListener(l);
-////
-////      consumerConnection.start();
-////
-////      int NUM_MESSAGES = 10;
-////      for(int i = 0; i < NUM_MESSAGES; i++)
-////      {
-////         TextMessage m = producerSession.createTextMessage("body" + i);
-////         topicProducer.send(m);
-////      }
-////
-////      for(int i = 0; i < NUM_MESSAGES; i++)
-////      {
-////         l.waitForMessages();
-////         log.trace("got message " + i);
-////      }
-////
-////
-////      int counter = 0;
-////      for(Iterator i = l.getMessages().iterator(); i.hasNext(); counter++)
-////      {
-////         TextMessage m = (TextMessage)i.next();
-////         assertEquals("body" + counter, m.getText());
-////      }
-////
-////      log.debug("testMessageListenerOnTopicMultipleMessages done");
-////   }
-//
-////   TODO: enable this
-////   public void testMessageListenerOnQueueMultipleMessages() throws Exception
-////   {
-////      log.debug("testMessageListenerOnQueueMultipleMessages");
-////
-////      MessageListenerImpl l = new MessageListenerImpl();
-////      QueueConsumer.setMessageListener(l);
-////
-////      consumerConnection.start();
-////
-////      int NUM_MESSAGES = 10;
-////      for(int i = 0; i < NUM_MESSAGES; i++)
-////      {
-////         TextMessage m = producerSession.createTextMessage("body" + i);
-////         queueProducer.send(m);
-////      }
-////
-////      for(int i = 0; i < NUM_MESSAGES; i++)
-////      {
-////         l.waitForMessages();
-////         log.trace("got message " + i);
-////      }
-////
-////
-////      int counter = 0;
-////      for(Iterator i = l.getMessages().iterator(); i.hasNext(); counter++)
-////      {
-////         TextMessage m = (TextMessage)i.next();
-////         assertEquals("body" + counter, m.getText());
-////      }
-////
-////      log.debug("testMessageListenerOnTopicMultipleMessages done");
-////   }
+   public void testMessageListenerOnTopicMultipleMessages() throws Exception
+   {
+      Connection producerConnection = null;
 
+      Connection consumerConnection = null;
 
+      try
+      {
+         producerConnection = cf.createConnection();
+
+         consumerConnection = cf.createConnection();
+
+         Session producerSession = producerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         Session consumerSession = consumerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer topicProducer = producerSession.createProducer(topic1);
+
+         MessageConsumer topicConsumer = consumerSession.createConsumer(topic1);
+
+         log.debug("testMessageListenerOnTopicMultipleMessages");
+
+         int NUM_MESSAGES = 10;
+         
+         MessageListenerImpl l = new MessageListenerImpl(NUM_MESSAGES);
+         topicConsumer.setMessageListener(l);
+
+         consumerConnection.start();
+         
+         for (int i = 0; i < NUM_MESSAGES; i++)
+         {
+            TextMessage m = producerSession.createTextMessage("body" + i);
+            topicProducer.send(m);
+         }
+
+         l.waitForMessages();
+
+         int counter = 0;
+         for (Iterator i = l.getMessages().iterator(); i.hasNext(); counter++)
+         {
+            TextMessage m = (TextMessage)i.next();
+            assertEquals("body" + counter, m.getText());
+         }
+
+         log.debug("testMessageListenerOnTopicMultipleMessages done");
+
+      }
+      finally
+      {
+         if (producerConnection != null)
+         {
+            producerConnection.close();
+         }
+         if (consumerConnection != null)
+         {
+            consumerConnection.close();
+         }
+      }
+   }
+
+   public void testMessageListenerOnQueueMultipleMessages() throws Exception
+   {
+
+      Connection producerConnection = null;
+
+      Connection consumerConnection = null;
+
+      try
+      {
+         producerConnection = cf.createConnection();
+
+         consumerConnection = cf.createConnection();
+
+         Session producerSession = producerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         Session consumerSession = consumerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer queueProducer = producerSession.createProducer(queue1);
+
+         MessageConsumer queueConsumer = consumerSession.createConsumer(queue1);
+         log.debug("testMessageListenerOnQueueMultipleMessages");
+
+         int NUM_MESSAGES = 10;
+         
+         MessageListenerImpl l = new MessageListenerImpl(NUM_MESSAGES);
+         queueConsumer.setMessageListener(l);
+
+         consumerConnection.start();
+
+         for (int i = 0; i < NUM_MESSAGES; i++)
+         {
+            TextMessage m = producerSession.createTextMessage("body" + i);
+            queueProducer.send(m);
+         }
+
+         l.waitForMessages();
+
+         int counter = 0;
+         for (Iterator i = l.getMessages().iterator(); i.hasNext(); counter++)
+         {
+            TextMessage m = (TextMessage)i.next();
+            assertEquals("body" + counter, m.getText());
+         }
+
+         log.debug("testMessageListenerOnTopicMultipleMessages done");
+
+      }
+      finally
+      {
+         if (producerConnection != null)
+         {
+            producerConnection.close();
+         }
+         if (consumerConnection != null)
+         {
+            consumerConnection.close();
+         }
+      }
+   }
+
    public void testSetMessageListenerTwice() throws Exception
    {
       Connection producerConnection = null;
@@ -2493,69 +2539,104 @@
       }
    }
 
-// This is commented out until http://jira.jboss.com/jira/browse/JBMESSAGING-983 is complete   
-//   public void testStopConnectionDuringOnMessage() throws Exception
-//   {
-//      if (log.isTraceEnabled()) log.trace("testStopConnectionWhileOnMessageIsExecuting");
-//      
-//      final SynchronizedInt messagesReceived = new SynchronizedInt(0);
-//      
-//      MessageListener myListener = new MessageListener() {
-//         public void onMessage(Message message)
-//         {
-//            messagesReceived.increment();
-//            try
-//            {
-//               Thread.sleep(100L);
-//            }
-//            catch (InterruptedException e)
-//            {
-//               // Ignore
-//            }
-//         }
-//      };
-//      
-//      queueConsumer.setMessageListener(myListener);
-//      
-//      log.trace("Starting consumer connection");
-//      consumerConnection.start();
-//      
-//      final int MESSAGE_COUNT = 100;
-//      
-//      log.trace("Sending the first batch of messages");
-//
-//      for (int i = 0; i < MESSAGE_COUNT / 2; i++)
-//      {
-//         queueProducer.send(producerSession.createTextMessage("Message #" + Integer.toString(i)));
-//      }
-//
-//      Thread.sleep(500L);
-//      
-//      log.trace("Stopping consumer connection");
-//      consumerConnection.stop();
-//
-//      int countAfterStop = messagesReceived.get();
-//      assertTrue("Should have received some messages before stopping", countAfterStop > 0);
-//      
-//      log.trace("Sending the second batch of messages");
-//      for (int i = MESSAGE_COUNT / 2; i < MESSAGE_COUNT; i++)
-//      {
-//         queueProducer.send(producerSession.createTextMessage("Message #" + Integer.toString(i)));
-//      }
-//
-//      log.trace("Sleeping a bit to check that no messages are received");
-//      Thread.sleep(2000);
-//
-//      assertEquals("Should not receive any messages after the connection has been stopped", countAfterStop, messagesReceived.get());
-//
-//      log.trace("Restarting consumer connection");
-//      consumerConnection.start();
-//      
-//      log.trace("Sleeping to allow remaining messages to arrive");
-//      Thread.sleep(15000);
-//      assertEquals("Should have received all messages after restarting", MESSAGE_COUNT, messagesReceived.get());
-//   }
+   // This is commented out until http:// jira.jboss.com/jira/browse/JBMESSAGING-983 is complete
+   public void testStopConnectionDuringOnMessage() throws Exception
+   {
+      if (log.isTraceEnabled())
+         log.trace("testStopConnectionWhileOnMessageIsExecuting");
 
+      final AtomicInteger messagesReceived = new AtomicInteger(0);
+
+      MessageListener myListener = new MessageListener()
+      {
+         public void onMessage(Message message)
+         {
+            messagesReceived.incrementAndGet();
+            try
+            {
+               Thread.sleep(100L);
+            }
+            catch (InterruptedException e)
+            {
+               // Ignore
+            }
+         }
+      };
+
+      Connection producerConnection = null;
+
+      Connection consumerConnection = null;
+
+      try
+      {
+         producerConnection = cf.createConnection();
+
+         consumerConnection = cf.createConnection();
+
+         Session producerSession = producerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         Session consumerSession = consumerConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer queueProducer = producerSession.createProducer(queue1);
+
+         MessageConsumer queueConsumer = consumerSession.createConsumer(queue1);
+
+         queueConsumer.setMessageListener(myListener);
+
+         log.trace("Starting consumer connection");
+         consumerConnection.start();
+
+         final int MESSAGE_COUNT = 100;
+
+         log.trace("Sending the first batch of messages");
+
+         for (int i = 0; i < MESSAGE_COUNT / 2; i++)
+         {
+            queueProducer.send(producerSession.createTextMessage("Message #" + Integer.toString(i)));
+         }
+
+         Thread.sleep(500L);
+
+         log.trace("Stopping consumer connection");
+         consumerConnection.stop();
+
+         int countAfterStop = messagesReceived.get();
+         assertTrue("Should have received some messages before stopping", countAfterStop > 0);
+
+         log.trace("Sending the second batch of messages");
+         for (int i = MESSAGE_COUNT / 2; i < MESSAGE_COUNT; i++)
+         {
+            queueProducer.send(producerSession.createTextMessage("Message #" + Integer.toString(i)));
+         }
+
+         log.trace("Sleeping a bit to check that no messages are received");
+         Thread.sleep(2000);
+
+         assertEquals("Should not receive any messages after the connection has been stopped",
+                      countAfterStop,
+                      messagesReceived.get());
+
+         log.trace("Restarting consumer connection");
+         consumerConnection.start();
+
+         log.trace("Sleeping to allow remaining messages to arrive");
+         Thread.sleep(15000);
+         assertEquals("Should have received all messages after restarting", MESSAGE_COUNT, messagesReceived.get());
+      }
+      finally
+      {
+         if (producerConnection != null)
+         {
+            producerConnection.close();
+         }
+         if (consumerConnection != null)
+         {
+            consumerConnection.close();
+         }
+         removeAllMessages(queue1.getQueueName(), true);
+      }
+   }
+
    // Test that stop doesn't in any way break subsequent close
 
    public void testCloseAfterStop() throws Exception
@@ -2601,7 +2682,7 @@
          {
             queueProducer.send(producerSession.createTextMessage("Message #" + Integer.toString(i)));
          }
-   
+
          consumerConnection.stop();
 
          consumerConnection.close();
@@ -2652,7 +2733,7 @@
          MessageConsumer queueConsumer = consumerSession.createConsumer(queue1);
          consumerConnection.start();
 
-         TextMessage m = (TextMessage) queueConsumer.receive(1500);
+         TextMessage m = (TextMessage)queueConsumer.receive(1500);
          assertEquals("One", m.getText());
 
          consumerConnection.close();
@@ -2664,7 +2745,7 @@
          queueConsumer = consumerSession.createConsumer(queue1);
          consumerConnection.start();
 
-         m = (TextMessage) queueConsumer.receive(1500);
+         m = (TextMessage)queueConsumer.receive(1500);
          assertEquals("Two", m.getText());
       }
       finally
@@ -2706,7 +2787,7 @@
          MessageConsumer queueConsumer = consumerSession.createConsumer(queue1);
          consumerConnection.start();
 
-         TextMessage m = (TextMessage) queueConsumer.receive(1500);
+         TextMessage m = (TextMessage)queueConsumer.receive(1500);
          assertEquals("One", m.getText());
 
          consumerSession.commit();
@@ -2719,7 +2800,7 @@
          queueConsumer = consumerSession.createConsumer(queue1);
          consumerConnection.start();
 
-         m = (TextMessage) queueConsumer.receive(1500);
+         m = (TextMessage)queueConsumer.receive(1500);
          assertEquals("Two", m.getText());
       }
       finally
@@ -2742,7 +2823,8 @@
 
    public void testNoLocal() throws Exception
    {
-      if (log.isTraceEnabled()) log.trace("testNoLocal");
+      if (log.isTraceEnabled())
+         log.trace("testNoLocal");
 
       Connection conn1 = null;
       Connection conn2 = null;
@@ -2768,7 +2850,7 @@
          assertEquals(Session.AUTO_ACKNOWLEDGE, sess3.getAcknowledgeMode());
          MessageConsumer consumer3 = sess3.createConsumer(topic1, null, true);
 
-         //ClientConsumer 1 should not get the message but consumers 2 and 3 should
+         // ClientConsumer 1 should not get the message but consumers 2 and 3 should
 
          conn1.start();
          conn2.start();
@@ -2776,7 +2858,9 @@
          class TestRunnable implements Runnable
          {
             boolean exceptionThrown;
+
             public Message m;
+
             MessageConsumer consumer;
 
             TestRunnable(MessageConsumer consumer)
@@ -2888,7 +2972,7 @@
          conn1 = cf.createConnection();
          conn1.start();
 
-         //Create 2 non durable subscribers on topic
+         // Create 2 non durable subscribers on topic
 
          Session sess1 = conn1.createSession(false, Session.CLIENT_ACKNOWLEDGE);
          Session sess2 = conn1.createSession(false, Session.CLIENT_ACKNOWLEDGE);
@@ -2906,28 +2990,28 @@
          TextMessage tm = sess3.createTextMessage("nurse!");
          prod.send(tm);
 
-         TextMessage tm1 = (TextMessage) cons1.receive(1500);
-         TextMessage tm2 = (TextMessage) cons2.receive(1500);
+         TextMessage tm1 = (TextMessage)cons1.receive(1500);
+         TextMessage tm2 = (TextMessage)cons2.receive(1500);
 
          assertNotNull(tm1);
          assertNotNull(tm2);
          assertEquals("nurse!", tm1.getText());
          assertEquals("nurse!", tm2.getText());
 
-         //acknowledge tm1
+         // acknowledge tm1
          tm1.acknowledge();
 
-         //tm2 has not been acknowledged
-         //so should be redelivered on session.recover
+         // tm2 has not been acknowledged
+         // so should be redelivered on session.recover
 
          sess2.recover();
 
-         tm2 = (TextMessage) cons2.receive(1500);
+         tm2 = (TextMessage)cons2.receive(1500);
          assertNotNull(tm2);
          assertEquals("nurse!", tm2.getText());
 
-         //but tm1 should not be redelivered
-         tm1 = (TextMessage) cons1.receive(1500);
+         // but tm1 should not be redelivered
+         tm1 = (TextMessage)cons1.receive(1500);
          assertNull(tm1);
       }
       finally
@@ -2940,7 +3024,6 @@
       }
    }
 
-
    /**
     * Topics shouldn't persist messages for non durable subscribers and redeliver them on reconnection
     * even if delivery mode of persistent is specified
@@ -2971,13 +3054,14 @@
             prod.send(topic1, tm);
          }
 
-         //receive but don't ack
+         // receive but don't ack
 
          int count = 0;
          while (true)
          {
-            TextMessage tm = (TextMessage) cons.receive(1000);
-            if (tm == null) break;
+            TextMessage tm = (TextMessage)cons.receive(1000);
+            if (tm == null)
+               break;
             assertEquals(tm.getText(), "helloxyz");
             count++;
          }
@@ -3002,7 +3086,7 @@
       }
    }
 
-   //Check messages have correct type after being resurrected from persistent storage
+   // Check messages have correct type after being resurrected from persistent storage
    public void testPersistedMessageType() throws Exception
    {
       Connection theConn = null;
@@ -3013,7 +3097,7 @@
          theConn = cf.createConnection();
          theConn.start();
 
-         //Send some persistent messages to a queue with no receivers
+         // Send some persistent messages to a queue with no receivers
          Session sessSend = theConn.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
          MessageProducer theProducer = sessSend.createProducer(queue1);
@@ -3060,19 +3144,19 @@
 
          assertEquals("aardvark", m2.getStringProperty("p1"));
 
-         BytesMessage bm2 = (BytesMessage) theConsumer.receive(1500);
+         BytesMessage bm2 = (BytesMessage)theConsumer.receive(1500);
          assertEquals("aardvark", bm2.readUTF());
 
-         MapMessage mm2 = (MapMessage) theConsumer.receive(1500);
+         MapMessage mm2 = (MapMessage)theConsumer.receive(1500);
          assertEquals("aardvark", mm2.getString("s1"));
 
-         ObjectMessage om2 = (ObjectMessage) theConsumer.receive(1500);
-         assertEquals("aardvark", (String) om2.getObject());
+         ObjectMessage om2 = (ObjectMessage)theConsumer.receive(1500);
+         assertEquals("aardvark", (String)om2.getObject());
 
-         StreamMessage sm2 = (StreamMessage) theConsumer.receive(1500);
+         StreamMessage sm2 = (StreamMessage)theConsumer.receive(1500);
          assertEquals("aardvark", sm2.readString());
 
-         TextMessage tm2 = (TextMessage) theConsumer.receive(1500);
+         TextMessage tm2 = (TextMessage)theConsumer.receive(1500);
          assertEquals("aardvark", tm2.getText());
       }
       finally
@@ -3119,7 +3203,7 @@
          int count = 0;
          while (true)
          {
-            TextMessage tm = (TextMessage) durable.receive(1500);
+            TextMessage tm = (TextMessage)durable.receive(1500);
             if (tm == null)
             {
                break;
@@ -3142,7 +3226,6 @@
       }
    }
 
-
    public void testDurableSubscriptionMultipleSubscriptions() throws Exception
    {
       final String CLIENT_ID1 = "test-client-id1";
@@ -3193,7 +3276,7 @@
          int count = 0;
          while (true)
          {
-            TextMessage tm = (TextMessage) durable3.receive(1000);
+            TextMessage tm = (TextMessage)durable3.receive(1000);
             if (tm == null)
             {
                break;
@@ -3284,7 +3367,7 @@
          int count = 0;
          while (true)
          {
-            TextMessage tm = (TextMessage) durable.receive(1000);
+            TextMessage tm = (TextMessage)durable.receive(1000);
             if (tm == null)
             {
                break;
@@ -3302,7 +3385,7 @@
          sess4 = conn4.createSession(false, Session.AUTO_ACKNOWLEDGE);
          durable = sess4.createDurableSubscriber(topic1, "mySubscription");
 
-         TextMessage tm = (TextMessage) durable.receive(1000);
+         TextMessage tm = (TextMessage)durable.receive(1000);
          assertNull(tm);
          conn4.close();
 
@@ -3335,7 +3418,7 @@
          sess6 = conn6.createSession(false, Session.AUTO_ACKNOWLEDGE);
          durable = sess6.createDurableSubscriber(topic1, "mySubscription");
 
-         TextMessage tm3 = (TextMessage) durable.receive(1000);
+         TextMessage tm3 = (TextMessage)durable.receive(1000);
          assertNull(tm3);
 
          durable.close();
@@ -3405,7 +3488,7 @@
 
          for (int i = 0; i < NUM_TO_RECEIVE; i++)
          {
-            TextMessage tm = (TextMessage) durable.receive(3000);
+            TextMessage tm = (TextMessage)durable.receive(3000);
             assertNotNull(tm);
          }
 
@@ -3428,7 +3511,7 @@
          int count = 0;
          while (true)
          {
-            TextMessage tm = (TextMessage) durable2.receive(1500);
+            TextMessage tm = (TextMessage)durable2.receive(1500);
             if (tm == null)
             {
                break;
@@ -3479,7 +3562,6 @@
 
          final int NUM_MESSAGES = 50;
 
-
          for (int i = 0; i < NUM_MESSAGES; i++)
          {
             TextMessage tm = sess1.createTextMessage("hello");
@@ -3490,14 +3572,14 @@
 
          for (int i = 0; i < NUM_TO_RECEIVE1; i++)
          {
-            TextMessage tm = (TextMessage) durable.receive(1500);
+            TextMessage tm = (TextMessage)durable.receive(1500);
             if (tm == null)
             {
                fail();
             }
          }
 
-         //Close the connection
+         // Close the connection
          conn1.close();
          conn1 = null;
 
@@ -3507,19 +3589,19 @@
 
          Session sess2 = conn2.createSession(false, Session.AUTO_ACKNOWLEDGE);
 
-         //Re-subscribe to the subscription
+         // Re-subscribe to the subscription
          MessageConsumer durable2 = sess2.createDurableSubscriber(topic1, "mySubscription");
 
          conn2.start();
 
-         TextMessage tm = (TextMessage) durable2.receive(1500);
+         TextMessage tm = (TextMessage)durable2.receive(1500);
          assertNull(tm);
 
          durable2.close();
 
          sess2.unsubscribe("mySubscription");
 
-         //Now need to remove the original subscription
+         // Now need to remove the original subscription
 
          conn1 = cf.createConnection();
 
@@ -3576,9 +3658,9 @@
 
    public void testDurableSubscriptionClientIDNotSet() throws Exception
    {
-      //Client id must be set before creating a durable subscription
-      //This assumes we are not setting it in the connection factory which
-      //is currently true but may change in the future
+      // Client id must be set before creating a durable subscription
+      // This assumes we are not setting it in the connection factory which
+      // is currently true but may change in the future
 
       Connection conn1 = null;
 
@@ -3631,17 +3713,17 @@
 
          Session sess1 = consumerConnection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
          MessageConsumer cons1 = sess1.createConsumer(queue1);
-         TextMessage tm2 = (TextMessage) cons1.receive(3000);
+         TextMessage tm2 = (TextMessage)cons1.receive(3000);
 
          assertNotNull(tm2);
          assertEquals("testRedeliveredDifferentSessions", tm2.getText());
 
-         //don't acknowledge it
+         // don't acknowledge it
          sess1.close();
 
          Session sess2 = consumerConnection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
          MessageConsumer cons2 = sess2.createConsumer(queue1);
-         TextMessage tm3 = (TextMessage) cons2.receive(3000);
+         TextMessage tm3 = (TextMessage)cons2.receive(3000);
 
          assertNotNull(tm3);
          assertEquals("testRedeliveredDifferentSessions", tm3.getText());
@@ -3707,7 +3789,6 @@
       }
    }
 
-
    public void testRedelMessageListener2() throws Exception
    {
       Connection conn = null;
@@ -3753,101 +3834,100 @@
          {
             conn.close();
          }
-      }      
+      }
    }
 
    // http://jira.jboss.org/jira/browse/JBMESSAGING-1294 - commented out until 2.0 beta
    public void testExceptionMessageListener1() throws Exception
    {
-   	Connection conn = null;
-      
+      Connection conn = null;
+
       try
-      {	      
-	      conn = cf.createConnection();
+      {
+         conn = cf.createConnection();
 
-	      conn.start();
-	
-	      Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      MessageConsumer cons = sess.createConsumer(queue1);
-	
-	      ExceptionRedelMessageListenerImpl listener = new ExceptionRedelMessageListenerImpl(sess);
-	
-	      cons.setMessageListener(listener);
-	
-	      MessageProducer prod = sessSend.createProducer(queue1);
-	      TextMessage m1 = sess.createTextMessage("a");
-	      TextMessage m2 = sess.createTextMessage("b");
-	      TextMessage m3 = sess.createTextMessage("c");
-	
-	      prod.send(m1);
-	      prod.send(m2);
-	      prod.send(m3);
-	
-	      listener.waitForMessages();
-	
-	      assertFalse(listener.message, listener.failed);
-	
-	      conn.close();
-	      
-	      conn = null;
-	   }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+         conn.start();
+
+         Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageConsumer cons = sess.createConsumer(queue1);
+
+         ExceptionRedelMessageListenerImpl listener = new ExceptionRedelMessageListenerImpl(sess);
+
+         cons.setMessageListener(listener);
+
+         MessageProducer prod = sessSend.createProducer(queue1);
+         TextMessage m1 = sess.createTextMessage("a");
+         TextMessage m2 = sess.createTextMessage("b");
+         TextMessage m3 = sess.createTextMessage("c");
+
+         prod.send(m1);
+         prod.send(m2);
+         prod.send(m3);
+
+         listener.waitForMessages();
+
+         assertFalse(listener.message, listener.failed);
+
+         conn.close();
+
+         conn = null;
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void testExceptionMessageListener2() throws Exception
    {
-   	Connection conn = null;
-      
+      Connection conn = null;
+
       try
-      {	      
-	      conn = cf.createConnection();
+      {
+         conn = cf.createConnection();
 
-	      conn.start();
-	
-	      Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-	
-	      Session sess = conn.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
-	
-	      MessageConsumer cons = sess.createConsumer(queue1);
-	
-	      ExceptionRedelMessageListenerImpl listener = new ExceptionRedelMessageListenerImpl(sess);
-	
-	      cons.setMessageListener(listener);
-	
-	      MessageProducer prod = sessSend.createProducer(queue1);
-	      TextMessage m1 = sess.createTextMessage("a");
-	      TextMessage m2 = sess.createTextMessage("b");
-	      TextMessage m3 = sess.createTextMessage("c");
-	
-	      prod.send(m1);
-	      prod.send(m2);
-	      prod.send(m3);
-	
-	      listener.waitForMessages();
-	
-	      assertFalse(listener.message, listener.failed);
-	  	
-	
-	      conn.close();
-	      
-	      conn = null;
-	   }
-	   finally
-	   {
-	   	if (conn != null)
-	   	{
-	   		conn.close();
-	   	}
-	   }
+         conn.start();
+
+         Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         Session sess = conn.createSession(false, Session.DUPS_OK_ACKNOWLEDGE);
+
+         MessageConsumer cons = sess.createConsumer(queue1);
+
+         ExceptionRedelMessageListenerImpl listener = new ExceptionRedelMessageListenerImpl(sess);
+
+         cons.setMessageListener(listener);
+
+         MessageProducer prod = sessSend.createProducer(queue1);
+         TextMessage m1 = sess.createTextMessage("a");
+         TextMessage m2 = sess.createTextMessage("b");
+         TextMessage m3 = sess.createTextMessage("c");
+
+         prod.send(m1);
+         prod.send(m2);
+         prod.send(m3);
+
+         listener.waitForMessages();
+
+         assertFalse(listener.message, listener.failed);
+
+         conn.close();
+
+         conn = null;
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
    }
 
    public void testExceptionMessageListener3() throws Exception
@@ -3986,7 +4066,7 @@
 
       public void onMessage(Message m)
       {
-         TextMessage tm = (TextMessage) m;
+         TextMessage tm = (TextMessage)m;
          count++;
 
          try
@@ -4005,7 +4085,7 @@
             {
                if (sess.getAcknowledgeMode() == Session.AUTO_ACKNOWLEDGE || sess.getAcknowledgeMode() == Session.DUPS_OK_ACKNOWLEDGE)
                {
-                  //Message should be immediately redelivered
+                  // Message should be immediately redelivered
                   if (!("a".equals(tm.getText())))
                   {
                      failed("Should be a but was " + tm.getText());
@@ -4019,7 +4099,7 @@
                }
                else
                {
-                  //Transacted or CLIENT_ACKNOWLEDGE - next message should be delivered
+                  // Transacted or CLIENT_ACKNOWLEDGE - next message should be delivered
                   if (!("b".equals(tm.getText())))
                   {
                      failed("Should be b but was " + tm.getText());
@@ -4061,7 +4141,7 @@
                }
                else
                {
-                  //Shouldn't get a 4th messge
+                  // Shouldn't get a 4th messge
                   failed("Shouldn't get a 4th message");
                   latch.countDown();
                }
@@ -4083,6 +4163,7 @@
       private int count;
 
       private boolean failed;
+
       private String messageOrder = "message sequence is: ";
 
       private CountDownLatch latch = new CountDownLatch(1);
@@ -4106,7 +4187,7 @@
       {
          try
          {
-            TextMessage tm = (TextMessage) m;
+            TextMessage tm = (TextMessage)m;
 
             messageOrder += tm.getText() + " ";
             if (count == 0)
@@ -4179,7 +4260,18 @@
    private class MessageListenerImpl implements MessageListener
    {
       private List messages = Collections.synchronizedList(new ArrayList());
+
       private CountDownLatch latch = new CountDownLatch(1);
+      
+      public MessageListenerImpl(final int count)
+      {
+         latch = new CountDownLatch(count);
+      }
+      
+      public MessageListenerImpl()
+      {
+         this(1);
+      }
 
       /**
        * Blocks the calling thread until at least a message is received
@@ -4198,7 +4290,6 @@
          }
       }
 
-
       public void onMessage(Message m)
       {
          messages.add(m);
@@ -4207,8 +4298,6 @@
          latch.countDown();
       }
 
-      ;
-
       public Message getNextMessage()
       {
          Iterator i = messages.iterator();
@@ -4216,7 +4305,7 @@
          {
             return null;
          }
-         Message m = (Message) i.next();
+         Message m = (Message)i.next();
          i.remove();
          return m;
       }

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageProducerTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageProducerTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageProducerTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -26,12 +26,14 @@
 import javax.jms.Connection;
 import javax.jms.DeliveryMode;
 import javax.jms.Destination;
+import javax.jms.InvalidDestinationException;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageProducer;
 import javax.jms.Session;
 import javax.jms.TextMessage;
 
+import org.jboss.messaging.jms.JBossTopic;
 import org.jboss.test.messaging.jms.message.SimpleJMSMessage;
 import org.jboss.test.messaging.jms.message.SimpleJMSTextMessage;
 
@@ -55,8 +57,8 @@
    // Public --------------------------------------------------------
 
    public void testSendForeignWithForeignDestinationSet() throws Exception
-   {   	   	
-      Connection conn = null;      
+   {
+      Connection conn = null;
 
       try
       {
@@ -74,7 +76,7 @@
 
          foreign.setJMSDestination(new SimpleDestination());
 
-         //the producer destination should override the foreign destination and the send should succeed
+         // the producer destination should override the foreign destination and the send should succeed
 
          p.send(foreign);
 
@@ -105,14 +107,14 @@
 
    private void sendToQueue(boolean persistent) throws Exception
    {
-      Connection pconn = null;      
+      Connection pconn = null;
       Connection cconn = null;
 
       try
       {
          pconn = cf.createConnection();
          cconn = cf.createConnection();
-         
+
          Session ps = pconn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          Session cs = cconn.createSession(false, Session.AUTO_ACKNOWLEDGE);
          MessageProducer p = ps.createProducer(queue1);
@@ -122,7 +124,7 @@
 
          TextMessage m = ps.createTextMessage("test");
          p.send(m);
-         
+
          TextMessage r = (TextMessage)c.receive(3000);
 
          assertEquals(m.getJMSMessageID(), r.getJMSMessageID());
@@ -185,10 +187,10 @@
       }
    }
 
-   //I moved this into it's own class so we can catch any exception that occurs
-   //Since this test intermittently fails.
-   //(As an aside, technically this test is invalid anyway since the sessions is used for sending
-   //and consuming concurrently - and sessions are supposed to be single threaded)
+   // I moved this into it's own class so we can catch any exception that occurs
+   // Since this test intermittently fails.
+   // (As an aside, technically this test is invalid anyway since the sessions is used for sending
+   // and consuming concurrently - and sessions are supposed to be single threaded)
    private class Sender implements Runnable
    {
       volatile Exception ex;
@@ -210,7 +212,7 @@
          {
             prod.send(m);
          }
-         catch(Exception e)
+         catch (Exception e)
          {
             log.error(e);
 
@@ -226,7 +228,7 @@
 
    public void testNonPersistentSendToTopic() throws Exception
    {
-      sendToTopic(false);      
+      sendToTopic(false);
    }
 
    private void sendToTopic(boolean persistent) throws Exception
@@ -259,7 +261,7 @@
 
          if (sender.ex != null)
          {
-            //If an exception was caught in sending we rethrow here so as not to lose it
+            // If an exception was caught in sending we rethrow here so as not to lose it
             throw sender.ex;
          }
 
@@ -275,8 +277,6 @@
       }
    }
 
-
-
    /**
     *  Test sending via anonymous producer
     * */
@@ -304,7 +304,7 @@
                {
                   anonProducer.send(topic2, m1);
                }
-               catch(Exception e)
+               catch (Exception e)
                {
                   log.error(e);
                }
@@ -340,7 +340,7 @@
          cconn.start();
 
          Message m = new SimpleJMSTextMessage("something");
-         p.send(m);         
+         p.send(m);
 
          TextMessage rec = (TextMessage)c.receive(3000);
 
@@ -386,7 +386,7 @@
             p.getDestination();
             fail("should throw exception");
          }
-         catch(javax.jms.IllegalStateException e)
+         catch (javax.jms.IllegalStateException e)
          {
             // OK
          }
@@ -397,35 +397,28 @@
       }
    }
 
-   //Is this test valid?
-   //How can we check if the destination is valid if it is created on the client side only??
+   public void testCreateProducerOnInexistentDestination() throws Exception
+   {
+      Connection pconn = cf.createConnection();
+      try
+      {
+         Session ps = pconn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         try
+         {
+            ps.createProducer(new JBossTopic("NoSuchTopic"));
+            fail("should throw exception");
+         }
+         catch (InvalidDestinationException e)
+         {
+            // OK
+         }
+      }
+      finally
+      {
+         pconn.close();
+      }
+   }
 
-   // TODO - verify what spec says about this and enable/delete the test accordingly
-
-// public void testCreateProducerOnInexistentDestination() throws Exception
-// {
-// Connection pconn = cf.createConnection();
-
-// try
-// {
-// Session ps = pconn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-// try
-// {
-// ps.createProducer(new JBossTopic("NoSuchTopic"));
-// fail("should throw exception");
-// }
-// catch(InvalidDestinationException e)
-// {
-// // OK
-// }
-// }
-// finally
-// {
-// pconn.close();
-// }
-// }  
-
    //
    // disabled MessageID tests
    //
@@ -463,7 +456,7 @@
             p.getDisableMessageID();
             fail("should throw exception");
          }
-         catch(javax.jms.IllegalStateException e)
+         catch (javax.jms.IllegalStateException e)
          {
             // OK
          }
@@ -557,7 +550,7 @@
             p.getDisableMessageTimestamp();
             fail("should throw exception");
          }
-         catch(javax.jms.IllegalStateException e)
+         catch (javax.jms.IllegalStateException e)
          {
             // OK
          }
@@ -628,7 +621,7 @@
             p.getDeliveryMode();
             fail("should throw exception");
          }
-         catch(javax.jms.IllegalStateException e)
+         catch (javax.jms.IllegalStateException e)
          {
             // OK
          }
@@ -699,7 +692,7 @@
             p.getPriority();
             fail("should throw exception");
          }
-         catch(javax.jms.IllegalStateException e)
+         catch (javax.jms.IllegalStateException e)
          {
             // OK
          }
@@ -770,7 +763,7 @@
             p.setTimeToLive(100l);
             fail("should throw exception");
          }
-         catch(javax.jms.IllegalStateException e)
+         catch (javax.jms.IllegalStateException e)
          {
             // OK
          }
@@ -789,6 +782,4 @@
 
    // Inner classes -------------------------------------------------
 
-
-
 }

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageWithReadResolveTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageWithReadResolveTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/MessageWithReadResolveTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -102,39 +102,7 @@
       }
             
    }
-   
-   /* Now test using serialization directly */
-   
-   /*
-    * 
-    * We don't currently use JBoss Serialization
-   public void testUseSerializationDirectly() throws Exception
-   {
-      TestMessage tm = new TestMessage(456, false);
-      
-      ByteArrayOutputStream os = new ByteArrayOutputStream();
-      
-      JBossObjectOutputStream oos = new JBossObjectOutputStream(os);
-      
-      oos.writeObject(tm);
-      
-      oos.close();
-      
-      byte[] bytes = os.toByteArray();
-      
-      ByteArrayInputStream is = new ByteArrayInputStream(bytes);
-      
-      JBossObjectInputStream ois = new JBossObjectInputStream(is);
-      
-      TestMessage tm2 = (TestMessage)ois.readObject();
-      
-      assertEquals(tm.id, tm2.id);
-      
-      ois.close();
-            
-   }
-   */
-   
+     
    // Package protected ---------------------------------------------
    
    // Protected -----------------------------------------------------

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/QueueRequestorTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/QueueRequestorTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/QueueRequestorTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -114,9 +114,7 @@
       {
          try
          {
-            log.trace("Received message");
             Destination queue = m.getJMSReplyTo();
-            log.trace("Sending response back to:" + queue);
             Message m2 = sess.createTextMessage("This is the response");
             sender.send(queue, m2);
          }

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/SessionTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/SessionTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/SessionTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -38,6 +38,8 @@
 import javax.jms.XAConnection;
 import javax.jms.XASession;
 
+import org.jboss.messaging.core.client.ClientSession;
+import org.jboss.messaging.jms.client.JBossSession;
 import org.jboss.test.messaging.JBMServerTestCase;
 
 /**
@@ -50,53 +52,19 @@
 public class SessionTest extends JBMServerTestCase
 {
    // Constants -----------------------------------------------------
-   
+
    // Static --------------------------------------------------------
-   
+
    // Attributes ----------------------------------------------------
-   
+
    // Constructors --------------------------------------------------
-   
+
    // Public --------------------------------------------------------
-   
-//   public void testNoTransactionAfterClose() throws Exception
-//   {
-//      Connection conn = getConnectionFactory().createConnection();
-//      conn.start();
-//      Session sess = conn.createSession(true, Session.SESSION_TRANSACTED);
-//      MessageProducer prod = sess.createProducer(queue1);
-//      prod.send(sess.createMessage());
-//      sess.commit();
-//      MessageConsumer cons = sess.createConsumer(queue1);
-//      cons.receive();
-//      sess.commit();
-//      
-//      ClientSession del = ((JBossSession)sess).getDelegate();
-//      
-//      //SessionState state = (SessionState)del.getState();
-//      //ConnectionState cState = (ConnectionState)state.getParent();
-//      
-//      Object xid = del.getCurrentTxId();
-//      assertNotNull(xid);
-//      assertNotNull(del.getConnection().getResourceManager().getTx(xid));
-//      
-//      //Now close the session
-//      sess.close();
-//      
-//      //Session should be removed from resource manager
-//      xid = del.getCurrentTxId();
-//      assertNotNull(xid);
-//      assertNull(del.getConnection().getResourceManager().getTx(xid));
-//      
-//      conn.close();
-//      
-//      assertEquals(0, del.getConnection().getResourceManager().size());
-//   }
 
    public void testCreateProducer() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
-      Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);          
+      Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
       sess.createProducer(topic1);
       conn.close();
    }
@@ -113,20 +81,20 @@
 
       MessageConsumer c = sess.createConsumer(queue1);
       conn.start();
-      
-      //receiveNoWait is not guaranteed to return message immediately
+
+      // receiveNoWait is not guaranteed to return message immediately
       TextMessage rm = (TextMessage)c.receive(1000);
 
       assertEquals("something", rm.getText());
-      
+
       conn.close();
    }
-   
+
    public void testCreateConsumer() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
       Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-      
+
       sess.createConsumer(topic1);
       conn.close();
    }
@@ -135,31 +103,31 @@
    {
       Connection conn = getConnectionFactory().createConnection();
       Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-      
+
       try
       {
          ((XASession)sess).getSession();
          fail("Should throw IllegalStateException");
       }
       catch (javax.jms.IllegalStateException e)
-      {}
+      {
+      }
       conn.close();
    }
-   
+
    public void testGetSession2() throws Exception
    {
       XAConnection conn = getXAConnectionFactory().createXAConnection();
       XASession sess = conn.createXASession();
-      
+
       sess.getSession();
       conn.close();
    }
-   
+
    //
    // createQueue()/createTopic()
    //
-   
-   
+
    public void testCreateNonExistentQueue() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
@@ -170,27 +138,28 @@
          fail();
       }
       catch (JMSException e)
-      {}
+      {
+      }
       conn.close();
    }
-   
+
    public void testCreateQueueOnATopicSession() throws Exception
    {
       TopicConnection c = (TopicConnection)getConnectionFactory().createConnection();
       TopicSession s = c.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
-      
+
       try
       {
          s.createQueue("TestQueue");
          fail("should throw IllegalStateException");
       }
-      catch(javax.jms.IllegalStateException e)
+      catch (javax.jms.IllegalStateException e)
       {
          // OK
       }
       c.close();
    }
-   
+
    public void testCreateQueueWhileTopicWithSameNameExists() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
@@ -206,26 +175,26 @@
       }
       conn.close();
    }
-   
+
    public void testCreateQueue() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
       Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
       Queue queue = sess.createQueue("Queue1");
-      
+
       MessageProducer producer = sess.createProducer(queue);
       MessageConsumer consumer = sess.createConsumer(queue);
       conn.start();
-      
+
       Message m = sess.createTextMessage("testing");
       producer.send(m);
-      
+
       Message m2 = consumer.receive(3000);
-      
+
       assertNotNull(m2);
       conn.close();
    }
-   
+
    public void testCreateNonExistentTopic() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
@@ -241,24 +210,24 @@
       }
       conn.close();
    }
-   
+
    public void testCreateTopicOnAQueueSession() throws Exception
    {
       QueueConnection c = (QueueConnection)getConnectionFactory().createConnection();
       QueueSession s = c.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
-      
+
       try
       {
          s.createTopic("TestTopic");
          fail("should throw IllegalStateException");
       }
-      catch(javax.jms.IllegalStateException e)
+      catch (javax.jms.IllegalStateException e)
       {
          // OK
       }
       c.close();
    }
-   
+
    public void testCreateTopicWhileQueueWithSameNameExists() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
@@ -274,36 +243,38 @@
       }
       conn.close();
    }
-   
+
    public void testCreateTopic() throws Exception
    {
       Connection conn = getConnectionFactory().createConnection();
       Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-      
+
       Topic topic = sess.createTopic("Topic1");
-      
+
       MessageProducer producer = sess.createProducer(topic);
       producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-      
+
       MessageConsumer consumer = sess.createConsumer(topic);
       conn.start();
-      
-      
+
       class TestRunnable implements Runnable
       {
          boolean exceptionThrown;
+
          public Message m;
+
          MessageConsumer consumer;
+
          TestRunnable(MessageConsumer consumer)
          {
             this.consumer = consumer;
          }
-         
+
          public void run()
          {
             try
             {
-               m = consumer.receive(3000);               
+               m = consumer.receive(3000);
             }
             catch (Exception e)
             {
@@ -311,19 +282,19 @@
             }
          }
       }
-      
+
       TestRunnable tr1 = new TestRunnable(consumer);
       Thread t1 = new Thread(tr1);
       t1.start();
-      
+
       Message m = sess.createTextMessage("testing");
       producer.send(m);
-      
+
       t1.join();
-      
+
       assertFalse(tr1.exceptionThrown);
       assertNotNull(tr1.m);
-      
+
       conn.close();
    }
 
@@ -336,7 +307,6 @@
       conn.close();
    }
 
-
    public void testGetXAResource2() throws Exception
    {
       XAConnection conn = getXAConnectionFactory().createXAConnection();
@@ -346,41 +316,41 @@
       conn.close();
    }
 
-
    public void testIllegalState() throws Exception
    {
-      //IllegalStateException should be thrown if commit or rollback
-      //is invoked on a non transacted session
+      // IllegalStateException should be thrown if commit or rollback
+      // is invoked on a non transacted session
       Connection conn = getConnectionFactory().createConnection();
       Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-      
+
       MessageProducer prod = sess.createProducer(queue1);
       prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
       Message m = sess.createTextMessage("hello");
       prod.send(m);
-      
+
       try
       {
          sess.rollback();
          fail();
       }
       catch (javax.jms.IllegalStateException e)
-      {}
-      
+      {
+      }
+
       try
       {
          sess.commit();
          fail();
       }
       catch (javax.jms.IllegalStateException e)
-      {}
-      
+      {
+      }
+
       conn.close();
-      
+
       removeAllMessages(queue1.getQueueName(), true);
    }
 
-
    //
    // Test session state
    //
@@ -396,7 +366,7 @@
       // this test whether session's transacted state is correctly scoped per instance (by an
       // interceptor or othewise)
       assertFalse(sessionOne.getTransacted());
-      
+
       conn.close();
    }
 
@@ -410,11 +380,10 @@
       // this test whether session's closed state is correctly scoped per instance (by an
       // interceptor or othewise)
       s = c.createSession(true, -1);
-      
+
       c.close();
    }
 
-
    public void testCloseNoClientAcknowledgment() throws Exception
    {
       // send a message to the queue
@@ -464,12 +433,12 @@
 
       // make sure the acknowledment hasn't been sent to the channel
       assertRemainingMessages(1);
-      
+
       // close the session
       session.close();
 
       // JMS 1.1 4.4.1: "Closing a transacted session must roll back its transaction in progress"
-      
+
       assertRemainingMessages(1);
 
       conn.close();
@@ -487,12 +456,11 @@
    }
 
    // Package protected ---------------------------------------------
-   
+
    // Protected -----------------------------------------------------
 
    // Private -------------------------------------------------------
-   
+
    // Inner classes -------------------------------------------------
-   
-}
 
+}

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/TopicTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/TopicTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/TopicTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -24,6 +24,7 @@
 import java.io.Serializable;
 
 import javax.jms.Connection;
+import javax.jms.DeliveryMode;
 import javax.jms.Message;
 import javax.jms.MessageConsumer;
 import javax.jms.MessageListener;
@@ -31,6 +32,7 @@
 import javax.jms.ObjectMessage;
 import javax.jms.Session;
 import javax.jms.TextMessage;
+import javax.jms.Topic;
 
 /**
  * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
@@ -41,13 +43,13 @@
 public class TopicTest extends JMSTestCase
 {
    // Constants -----------------------------------------------------
-   
+
    // Static --------------------------------------------------------
-	
+
    // Attributes ----------------------------------------------------
 
    // Constructors --------------------------------------------------
-   
+
    // Public --------------------------------------------------------
 
    /**
@@ -56,7 +58,7 @@
    public void testTopic() throws Exception
    {
       Connection conn = null;
-      
+
       try
       {
          conn = cf.createConnection();
@@ -79,11 +81,11 @@
          }
       }
    }
-   
+
    public void testTopic2() throws Exception
    {
       Connection conn = null;
-      
+
       try
       {
          conn = cf.createConnection();
@@ -107,133 +109,134 @@
       }
    }
 
-//   public void testTopicName() throws Exception
-//   {
-//      Topic topic = (Topic)ic.lookup("/topic/Topic1");
-//      assertEquals("Topic1", topic.getTopicName());
-//   }
-//   
-//   /*
-//    * See http://jira.jboss.com/jira/browse/JBMESSAGING-399
-//    */
-//   public void testRace() throws Exception
-//   {
-//      Connection conn = null;
-//      
-//      try
-//      {	      
-//	      conn = cf.createConnection();
-//	      
-//	      Session sSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-//	      
-//	      MessageProducer prod = sSend.createProducer(topic1);
-//	      prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-//	      
-//	      Session s1 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-//	      Session s2 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-//	      Session s3 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-//	      
-//	      MessageConsumer c1 = s1.createConsumer(topic1);
-//	      MessageConsumer c2 = s2.createConsumer(topic1);
-//	      MessageConsumer c3 = s3.createConsumer(topic1);            
-//	      
-//	      final int numMessages = 500;
-//         	    
-//	      TestListener l1 = new TestListener(numMessages);
-//	      TestListener l2 = new TestListener(numMessages);
-//	      TestListener l3 = new TestListener(numMessages);
-//	      
-//	      c1.setMessageListener(l1);
-//	      c2.setMessageListener(l2);
-//	      c3.setMessageListener(l3);
-//	            
-//	      conn.start();
-//	       	      
-//	      for (int i = 0; i < numMessages; i++)
-//	      {
-//	         byte[] blah = new byte[10000];
-//	         String str = new String(blah);
-//	           
-//	         Wibble2 w = new Wibble2();
-//	         w.s = str;
-//	         ObjectMessage om = sSend.createObjectMessage(w);
-//	         
-//	         prod.send(om);
-//	      }          
-//	      
-//	      l1.waitForMessages();
-//	      l2.waitForMessages();
-//	      l3.waitForMessages();
-//	      
-//	      assertFalse(l1.failed);
-//	      assertFalse(l2.failed);
-//	      assertFalse(l3.failed);
-//      }
-//      finally
-//      {
-//      	if (conn != null)
-//      	{
-//      		conn.close();
-//      	}
-//      }
-//   }
+   public void testTopicName() throws Exception
+   {
+      Topic topic = (Topic)ic.lookup("/topic/Topic1");
+      assertEquals("Topic1", topic.getTopicName());
+   }
 
+      
+    /*
+   * See http://jira.jboss.com/jira/browse/JBMESSAGING-399
+   */
+   public void testRace() throws Exception
+   {
+      Connection conn = null;
+
+      try
+      {
+         conn = cf.createConnection();
+
+         Session sSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageProducer prod = sSend.createProducer(topic1);
+         prod.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+
+         Session s1 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session s2 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+         Session s3 = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         MessageConsumer c1 = s1.createConsumer(topic1);
+         MessageConsumer c2 = s2.createConsumer(topic1);
+         MessageConsumer c3 = s3.createConsumer(topic1);
+
+         final int numMessages = 500;
+
+         TestListener l1 = new TestListener(numMessages);
+         TestListener l2 = new TestListener(numMessages);
+         TestListener l3 = new TestListener(numMessages);
+
+         c1.setMessageListener(l1);
+         c2.setMessageListener(l2);
+         c3.setMessageListener(l3);
+
+         conn.start();
+
+         for (int i = 0; i < numMessages; i++)
+         {
+            byte[] blah = new byte[10000];
+            String str = new String(blah);
+
+            Wibble2 w = new Wibble2();
+            w.s = str;
+            ObjectMessage om = sSend.createObjectMessage(w);
+
+            prod.send(om);
+         }
+
+         l1.waitForMessages();
+         l2.waitForMessages();
+         l3.waitForMessages();
+
+         assertFalse(l1.failed);
+         assertFalse(l2.failed);
+         assertFalse(l3.failed);
+      }
+      finally
+      {
+         if (conn != null)
+         {
+            conn.close();
+         }
+      }
+   }
+
    // Package protected ---------------------------------------------
-   
+
    // Protected -----------------------------------------------------
-   
+
    // Private -------------------------------------------------------
-   
+
    // Inner classes -------------------------------------------------
-   
+
    static class Wibble2 implements Serializable
    {
       private static final long serialVersionUID = -5146179676719808756L;
+
       String s;
    }
-   
+
    static class TestListener implements MessageListener
    {
       boolean failed;
-      
+
       int count;
-      
+
       int num;
-      
+
       TestListener(int num)
       {
-      	this.num = num;
+         this.num = num;
       }
-      
+
       public synchronized void onMessage(Message m)
       {
          ObjectMessage om = (ObjectMessage)m;
-         
+
          try
-         {         
+         {
             Wibble2 w = (Wibble2)om.getObject();
          }
          catch (Exception e)
          {
             failed = true;
          }
-         
+
          count++;
-         
+
          if (count == num)
-         {         
-         	this.notify();
+         {
+            this.notify();
          }
       }
-      
+
       synchronized void waitForMessages() throws Exception
       {
-      	while (count < num)
-      	{
-      		this.wait();
-      	}
+         while (count < num)
+         {
+            this.wait();
+         }
       }
    }
-   
+
 }
-

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/XATest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/XATest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/XATest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -2267,7 +2267,6 @@
 
    static class DummyListener implements MessageListener
    {
-
       protected Logger log = Logger.getLogger(getClass());
 
       public ArrayList messages = new ArrayList();

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/MessageHeaderTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/MessageHeaderTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/MessageHeaderTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -21,6 +21,26 @@
   */
 package org.jboss.test.messaging.jms.message;
 
+import java.io.File;
+import java.io.Serializable;
+import java.util.Enumeration;
+import java.util.HashSet;
+
+import javax.jms.BytesMessage;
+import javax.jms.DeliveryMode;
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.MapMessage;
+import javax.jms.Message;
+import javax.jms.MessageFormatException;
+import javax.jms.MessageNotWriteableException;
+import javax.jms.ObjectMessage;
+import javax.jms.StreamMessage;
+import javax.jms.TextMessage;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+
 import org.jboss.messaging.core.buffers.ChannelBuffers;
 import org.jboss.messaging.core.client.ClientConsumer;
 import org.jboss.messaging.core.client.ClientFileMessage;
@@ -42,25 +62,6 @@
 import org.jboss.messaging.jms.client.JBossTextMessage;
 import org.jboss.messaging.utils.SimpleString;
 
-import javax.jms.BytesMessage;
-import javax.jms.DeliveryMode;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageFormatException;
-import javax.jms.MessageNotWriteableException;
-import javax.jms.ObjectMessage;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.transaction.xa.XAException;
-import javax.transaction.xa.XAResource;
-import javax.transaction.xa.Xid;
-import java.io.File;
-import java.io.Serializable;
-import java.util.Enumeration;
-import java.util.HashSet;
-
 /**
  *
  * @author <a href="mailto:ovidiu at feodorov.com">Ovidiu Feodorov</a>
@@ -803,35 +804,6 @@
       ensureEquivalent(receivedMessage, (JBossMessage)message);
    }
    
-// Invalid!!
-//   public void testForeignJMSReplyTo() throws JMSException
-//   {
-//   	Message msg = queueProducerSession.createTextMessage();
-//   	
-//      JBossMessage jbossMessage = (JBossMessage)msg;
-//      
-//      Destination foreignDestination = new ForeignDestination();
-//      
-//      jbossMessage.setJMSReplyTo(foreignDestination);
-//      
-//      queueProducer.send(msg);
-//      
-//      Message receivedMessage = queueConsumer.receive(2000);
-//
-//      ensureEquivalent(receivedMessage, jbossMessage);
-//   }
-//   
-//   public void testCopyForeignDestinationAndReplyTo() throws JMSException
-//   {
-//      Message foreignMessage = new SimpleJMSMessage();
-//      foreignMessage.setJMSDestination(new ForeignDestination());
-//      foreignMessage.setJMSReplyTo(new ForeignDestination());
-//
-//      JBossMessage copy = new JBossMessage(foreignMessage);
-//
-//      ensureEquivalent(foreignMessage, copy);
-//   }
-
    // Package protected ---------------------------------------------
 
    // Protected -----------------------------------------------------

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/SimpleJMSMessage.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/SimpleJMSMessage.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/SimpleJMSMessage.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -406,13 +406,11 @@
 
    public void acknowledge() throws JMSException
    {
-
    }
 
 
    public void clearBody() throws JMSException
    {
-
    }
 
 

Modified: trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/foreign/ForeignStreamMessageTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/foreign/ForeignStreamMessageTest.java	2009-03-30 18:04:41 UTC (rev 6219)
+++ trunk/tests/jms-tests/src/org/jboss/test/messaging/jms/message/foreign/ForeignStreamMessageTest.java	2009-03-30 19:38:11 UTC (rev 6220)
@@ -40,48 +40,48 @@
 public class ForeignStreamMessageTest extends ForeignMessageTest
 {
 
-    protected Message createForeignMessage() throws Exception
-    {
-        SimpleJMSStreamMessage m = new SimpleJMSStreamMessage();
-        
-        log.debug("creating JMS Message type " + m.getClass().getName()); 
-        
-        m.writeBoolean(true);
-        m.writeBytes("jboss".getBytes());
-        m.writeChar('c');
-        m.writeDouble(1.0D);
-        m.writeFloat(2.0F);
-        m.writeInt(3);
-        m.writeLong(4L);
-        m.writeObject("object");
-        m.writeShort((short)5);
-        m.writeString("stringvalue");
+   protected Message createForeignMessage() throws Exception
+   {
+      SimpleJMSStreamMessage m = new SimpleJMSStreamMessage();
 
-        return m;
-    }
-    
-    protected void assertEquivalent(Message m, int mode, boolean redelivery) throws JMSException
-    {
-        super.assertEquivalent(m,mode, redelivery);
-        
-        StreamMessage sm = (StreamMessage)m;
-        
-        assertTrue(sm.readBoolean());
-        
-        byte bytes[] = new byte[5];
-        sm.readBytes(bytes);
-        String s = new String(bytes);
-        assertEquals("jboss",s);
-        assertEquals(-1,sm.readBytes(bytes));
-        
-        assertEquals(sm.readChar(),'c');
-        assertEquals(sm.readDouble(),1.0D,0.0D);
-        assertEquals(sm.readFloat(),2.0F,0.0F);
-        assertEquals(sm.readInt(),3);
-        assertEquals(sm.readLong(),4L);
-        assertEquals(sm.readObject(),"object");
-        assertEquals(sm.readShort(),(short)5);
-        assertEquals(sm.readString(),"stringvalue");
-    }
+      log.debug("creating JMS Message type " + m.getClass().getName());
 
+      m.writeBoolean(true);
+      m.writeBytes("jboss".getBytes());
+      m.writeChar('c');
+      m.writeDouble(1.0D);
+      m.writeFloat(2.0F);
+      m.writeInt(3);
+      m.writeLong(4L);
+      m.writeObject("object");
+      m.writeShort((short)5);
+      m.writeString("stringvalue");
+
+      return m;
+   }
+
+   protected void assertEquivalent(Message m, int mode, boolean redelivery) throws JMSException
+   {
+      super.assertEquivalent(m, mode, redelivery);
+
+      StreamMessage sm = (StreamMessage)m;
+
+      assertTrue(sm.readBoolean());
+
+      byte bytes[] = new byte[5];
+      sm.readBytes(bytes);
+      String s = new String(bytes);
+      assertEquals("jboss", s);
+      assertEquals(-1, sm.readBytes(bytes));
+
+      assertEquals(sm.readChar(), 'c');
+      assertEquals(sm.readDouble(), 1.0D, 0.0D);
+      assertEquals(sm.readFloat(), 2.0F, 0.0F);
+      assertEquals(sm.readInt(), 3);
+      assertEquals(sm.readLong(), 4L);
+      assertEquals(sm.readObject(), "object");
+      assertEquals(sm.readShort(), (short)5);
+      assertEquals(sm.readString(), "stringvalue");
+   }
+
 }




More information about the jboss-cvs-commits mailing list