You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2015/01/15 17:35:31 UTC

[2/5] qpid-jms git commit: close the messageQueue when the consumer/session is closed, ensure consumers blocked on receive() calls return null

close the messageQueue when the consumer/session is closed, ensure consumers blocked on receive() calls return null


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/b7d74343
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/b7d74343
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/b7d74343

Branch: refs/heads/master
Commit: b7d74343342378372d6a1230575686a218432849
Parents: 042aaff
Author: Robert Gemmell <ro...@apache.org>
Authored: Thu Jan 15 12:04:14 2015 +0000
Committer: Robert Gemmell <ro...@apache.org>
Committed: Thu Jan 15 16:35:08 2015 +0000

----------------------------------------------------------------------
 .../java/org/apache/qpid/jms/JmsMessageConsumer.java     | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/b7d74343/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
index b88de22..b92b6c0 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsMessageConsumer.java
@@ -180,6 +180,7 @@ public class JmsMessageConsumer implements MessageConsumer, JmsMessageAvailableC
     protected void shutdown() throws JMSException {
         if (closed.compareAndSet(false, true)) {
             this.session.remove(this);
+            stop(true);
         }
     }
 
@@ -366,10 +367,18 @@ public class JmsMessageConsumer implements MessageConsumer, JmsMessageAvailableC
     }
 
     public void stop() {
+        stop(false);
+    }
+
+    private void stop(boolean closeMessageQueue) {
         lock.lock();
         try {
             this.started = false;
-            this.messageQueue.stop();
+            if (closeMessageQueue) {
+                this.messageQueue.close();
+            } else {
+                this.messageQueue.stop();
+            }
         } finally {
             lock.unlock();
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org