summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java24
1 files changed, 18 insertions, 6 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
index 7916dd0d0e..2b29ed3817 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
@@ -297,13 +297,25 @@ public class AMQSession_0_10 extends AMQSession
public boolean isQueueBound(final AMQShortString exchangeName, final AMQShortString queueName,
final AMQShortString routingKey) throws JMSException
{
- Future<BindingQueryResult> result = getQpidSession().bindingQuery(exchangeName.toString(), queueName.toString(), routingKey.toString(), null);
+ String rk = "";
+ boolean res;
+ if (routingKey != null)
+ {
+ rk = routingKey.toString();
+ }
+ Future<BindingQueryResult> result =
+ getQpidSession().bindingQuery(exchangeName.toString(), queueName.toString(), rk, null);
BindingQueryResult bindingQueryResult = result.get();
- return ! (bindingQueryResult.getArgsNotMatched() ||
- bindingQueryResult.getExchangeNotFound() ||
- bindingQueryResult.getKeyNotMatched() ||
- bindingQueryResult.getQueueNotFound() ||
- bindingQueryResult.getQueueNotMatched());
+ if (routingKey == null)
+ {
+ res = !(bindingQueryResult.getExchangeNotFound() || bindingQueryResult.getQueueNotFound());
+ }
+ else
+ {
+ res = !(bindingQueryResult.getKeyNotMatched() || bindingQueryResult.getQueueNotFound() || bindingQueryResult
+ .getQueueNotMatched());
+ }
+ return res;
}
/**