[hornetq-commits] JBoss hornetq SVN: r8907 - in trunk: tests/jms-tests/src/org/hornetq/jms/tests and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Mar 1 09:00:11 EST 2010


Author: jmesnil
Date: 2010-03-01 09:00:10 -0500 (Mon, 01 Mar 2010)
New Revision: 8907

Modified:
   trunk/src/main/org/hornetq/jms/client/HornetQMessageConsumer.java
   trunk/tests/jms-tests/src/org/hornetq/jms/tests/MessageConsumerTest.java
Log:
fixed closed consumer

* add checkClosed() to HornetQMessageConsumer.getNoLocal() + test


Modified: trunk/src/main/org/hornetq/jms/client/HornetQMessageConsumer.java
===================================================================
--- trunk/src/main/org/hornetq/jms/client/HornetQMessageConsumer.java	2010-03-01 13:58:21 UTC (rev 8906)
+++ trunk/src/main/org/hornetq/jms/client/HornetQMessageConsumer.java	2010-03-01 14:00:10 UTC (rev 8907)
@@ -182,6 +182,8 @@
 
    public boolean getNoLocal() throws JMSException
    {
+      checkClosed();
+
       return noLocal;
    }
 

Modified: trunk/tests/jms-tests/src/org/hornetq/jms/tests/MessageConsumerTest.java
===================================================================
--- trunk/tests/jms-tests/src/org/hornetq/jms/tests/MessageConsumerTest.java	2010-03-01 13:58:21 UTC (rev 8906)
+++ trunk/tests/jms-tests/src/org/hornetq/jms/tests/MessageConsumerTest.java	2010-03-01 14:00:10 UTC (rev 8907)
@@ -40,6 +40,8 @@
 import javax.jms.StreamMessage;
 import javax.jms.TextMessage;
 import javax.jms.Topic;
+import javax.jms.TopicConnection;
+import javax.jms.TopicSession;
 import javax.jms.TopicSubscriber;
 
 import org.hornetq.jms.tests.util.ProxyAssertSupport;
@@ -1588,6 +1590,40 @@
       }
    }
 
+   public void testGetNoLocalOnClosedConsumer() throws Exception
+   {
+      Connection consumerConnection = null;
+
+      try
+      {
+         consumerConnection = JMSTestCase.cf.createConnection();
+         TopicConnection tc = (TopicConnection)consumerConnection;
+
+         TopicSession consumerSession = tc.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
+
+         TopicSubscriber topicConsumer = consumerSession.createSubscriber(HornetQServerTestCase.topic1);
+
+         topicConsumer.close();
+
+         try
+         {
+            topicConsumer.getNoLocal();
+            fail("must throw a JMS IllegalStateException");
+         }
+         catch (javax.jms.IllegalStateException e)
+         {
+            // OK
+         }
+      }
+      finally
+      {
+         if (consumerConnection != null)
+         {
+            consumerConnection.close();
+         }
+      }
+   }
+   
    public void testGetTopic() throws Exception
    {
       Connection consumerConnection = null;



More information about the hornetq-commits mailing list