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