diff options
| author | Arnaud Simon <arnaudsimon@apache.org> | 2007-10-02 14:17:26 +0000 |
|---|---|---|
| committer | Arnaud Simon <arnaudsimon@apache.org> | 2007-10-02 14:17:26 +0000 |
| commit | 1bfabf21207550a23203b37aa28e26efe41368e4 (patch) | |
| tree | 9bcbfae1f7bb4d23e8ac7705b15011f50bfc41f8 /java | |
| parent | 636129928afda987524bdf6bf66b1a5059efec13 (diff) | |
| download | qpid-python-1bfabf21207550a23203b37aa28e26efe41368e4.tar.gz | |
Changed to use bindingquery
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@581254 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
3 files changed, 42 insertions, 7 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 c850d1000a..7916dd0d0e 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 @@ -32,6 +32,8 @@ import org.apache.qpidity.ErrorCode; import org.apache.qpidity.QpidException; import org.apache.qpidity.transport.RangeSet; import org.apache.qpidity.transport.Option; +import org.apache.qpidity.transport.BindingQueryResult; +import org.apache.qpidity.transport.Future; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -295,9 +297,13 @@ public class AMQSession_0_10 extends AMQSession public boolean isQueueBound(final AMQShortString exchangeName, final AMQShortString queueName, final AMQShortString routingKey) throws JMSException { - getQpidSession().queueBind(queueName.toString(), exchangeName.toString(), routingKey.toString(), null); - // we asume that a binding is always successful - return true; + Future<BindingQueryResult> result = getQpidSession().bindingQuery(exchangeName.toString(), queueName.toString(), routingKey.toString(), null); + BindingQueryResult bindingQueryResult = result.get(); + return ! (bindingQueryResult.getArgsNotMatched() || + bindingQueryResult.getExchangeNotFound() || + bindingQueryResult.getKeyNotMatched() || + bindingQueryResult.getQueueNotFound() || + bindingQueryResult.getQueueNotMatched()); } /** diff --git a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java index 3a58a405c2..cf8ecd74ac 100644 --- a/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java +++ b/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer_0_10.java @@ -142,5 +142,11 @@ public class BasicMessageProducer_0_10 extends BasicMessageProducer } } + + + public boolean isBound(AMQDestination destination) throws JMSException + { + return _session.isQueueBound(destination.getExchangeName(), destination.getAMQQueueName(), destination.getRoutingKey()); + } } diff --git a/java/client/src/main/java/org/apache/qpidity/nclient/Session.java b/java/client/src/main/java/org/apache/qpidity/nclient/Session.java index c7e02fc1bb..0989afef61 100644 --- a/java/client/src/main/java/org/apache/qpidity/nclient/Session.java +++ b/java/client/src/main/java/org/apache/qpidity/nclient/Session.java @@ -481,7 +481,8 @@ public interface Session * {@link Option#EXCLUSIVE}, {@link Option#PASSIVE} and {@link Option#NO_OPTION}) * @see Option */ - public void queueDeclare(String queueName, String alternateExchange, Map<String, Object> arguments, Option... options); + public void queueDeclare(String queueName, String alternateExchange, Map<String, Object> arguments, + Option... options); /** * Bind a queue with an exchange. @@ -542,6 +543,28 @@ public interface Session */ public void queueDelete(String queueName, Option... options); + + /** + * This method is used to request information on a particular queue. + * + * @param queueName The name of the queue for which information is requested. + * @return Information on the specified queue. + */ + public Future<QueueQueryResult> queueQuery(String queueName); + + + /** + * This method is used to request information on a particular binding. + * + * @param exchange The exchange name. + * @param queue The queue name. + * @param routingKey The routing key + * @param arguments bacward compatibilties params. + * @return Information on the specified binding. + */ + public Future<BindingQueryResult> bindingQuery(String exchange, String queue, String routingKey, + Map<String, Object> arguments); + // -------------------------------------- // exhcange methods // -------------------------------------- @@ -573,8 +596,8 @@ public interface Session * @param arguments Used for backward compatibility * @see Option */ - public void exchangeDeclare(String exchangeName, String type, String alternateExchange, Map<String, Object> arguments, - Option... options); + public void exchangeDeclare(String exchangeName, String type, String alternateExchange, + Map<String, Object> arguments, Option... options); /** * This method deletes an exchange. When an exchange is deleted all queue bindings on the @@ -600,7 +623,7 @@ public interface Session * * @param exchangeName The name of the exchange for which information is requested. If not specified explicitly * the default exchange is implied. - * @result Information on the specified exchange. + * @return Information on the specified exchange. */ public Future<ExchangeQueryResult> exchangeQuery(String exchangeName); |
