diff options
Diffstat (limited to 'java/client')
| -rw-r--r-- | java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java | 24 |
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; } /** |
