diff options
author | Andrew Donald Kennedy <grkvlt@apache.org> | 2011-03-03 01:56:40 +0000 |
---|---|---|
committer | Andrew Donald Kennedy <grkvlt@apache.org> | 2011-03-03 01:56:40 +0000 |
commit | bb5974e9757e2f9db914d0675bbd311dede7c2c4 (patch) | |
tree | 89af4831976b181bf671df05fe6fcc20b9c9387f | |
parent | b56d67f7c344d6c93d7a12ecf11ccffac3101bce (diff) | |
download | qpid-python-bb5974e9757e2f9db914d0675bbd311dede7c2c4.tar.gz |
QPID-3008: Change QueueBrowser failover test receiveNoWait behaviour
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/grkvlt-network-20110301@1076493 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java | 53 | ||||
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java | 2 |
2 files changed, 7 insertions, 48 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java index 0a78403268..5a41ced5a0 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java @@ -384,12 +384,16 @@ public abstract class BasicMessageConsumer<U> extends Closeable implements Messa public Message receive(long l) throws JMSException { + return receive(l, false); + } + public Message receive(long l, boolean immediate) throws JMSException + { checkPreConditions(); try { - acquireReceiving(false); + acquireReceiving(immediate); } catch (InterruptedException e) { @@ -447,52 +451,7 @@ public abstract class BasicMessageConsumer<U> extends Closeable implements Messa public Message receiveNoWait() throws JMSException { - checkPreConditions(); - - try - { - if (!acquireReceiving(true)) - { - //If we couldn't acquire the receiving thread then return null. - // This will occur if failing over. - return null; - } - } - catch (InterruptedException e) - { - /* - * This seems slightly shoddy but should never actually be executed - * since we told acquireReceiving to return immediately and it shouldn't - * block on anything. - */ - - return null; - } - - _session.startDispatcherIfNecessary(); - - try - { - Object o = getMessageFromQueue(-1); - final AbstractJMSMessage m = returnMessageOrThrow(o); - if (m != null) - { - preApplicationProcessing(m); - postDeliver(m); - } - - return m; - } - catch (InterruptedException e) - { - _logger.warn("Interrupted: " + e); - - return null; - } - finally - { - releaseReceiving(); - } + return receive(-1, true); } /** diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java index b5f3501e5a..693b063965 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java @@ -459,7 +459,7 @@ public class BasicMessageConsumer_0_10 extends BasicMessageConsumer<UnprocessedM Message receiveBrowse() throws JMSException { - return receiveNoWait(); + return receive(-1, false); } @Override public void rollbackPendingMessages() |