summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Donald Kennedy <grkvlt@apache.org>2011-03-03 01:56:40 +0000
committerAndrew Donald Kennedy <grkvlt@apache.org>2011-03-03 01:56:40 +0000
commitbb5974e9757e2f9db914d0675bbd311dede7c2c4 (patch)
tree89af4831976b181bf671df05fe6fcc20b9c9387f
parentb56d67f7c344d6c93d7a12ecf11ccffac3101bce (diff)
downloadqpid-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.java53
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_10.java2
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()