Author: arnaudsimon
Date: Fri Feb 29 06:36:38 2008
New Revision: 632331

URL: http://svn.apache.org/viewvc?rev=632331&view=rev
Log:
Qpid-823: Dispatcher thread should be closed after consumers have been closed.  

Modified:
    
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java

Modified: 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java?rev=632331&r1=632330&r2=632331&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
 (original)
+++ 
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession.java
 Fri Feb 29 06:36:38 2008
@@ -1774,11 +1774,6 @@
      */
     private void closeConsumers(Throwable error) throws JMSException
     {
-        if (_dispatcher != null)
-        {
-            _dispatcher.close();
-            _dispatcher = null;
-        }
         // we need to clone the list of consumers since the close() method 
updates the _consumers collection
         // which would result in a concurrent modification exception
         final ArrayList<BasicMessageConsumer> clonedConsumers = new 
ArrayList<BasicMessageConsumer>(_consumers.values());
@@ -1797,6 +1792,11 @@
             }
         }
         // at this point the _consumers map will be empty
+         if (_dispatcher != null)
+        {
+            _dispatcher.close();
+            _dispatcher = null;
+        }
     }
 
     /**


Reply via email to