summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Simon <arnaudsimon@apache.org>2007-10-19 12:59:19 +0000
committerArnaud Simon <arnaudsimon@apache.org>2007-10-19 12:59:19 +0000
commitd8a234b564baea527e80bd6bf1868cd1bb9d88b6 (patch)
tree73c7456c60ec0b72d0ab15ea67a7395aad121336
parentc1626dc5b836f793bf6d478d0354ee4aca95e0d7 (diff)
downloadqpid-python-d8a234b564baea527e80bd6bf1868cd1bb9d88b6.tar.gz
added args to exchange binding and set x-match to any as default
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@586408 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java11
1 files changed, 10 insertions, 1 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 0159c0e09f..a3e2a8fa3a 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
@@ -26,6 +26,7 @@ import org.apache.qpid.client.failover.FailoverNoopSupport;
import org.apache.qpid.client.failover.FailoverProtectedOperation;
import org.apache.qpid.client.protocol.AMQProtocolHandler;
import org.apache.qpid.client.message.MessageFactoryRegistry;
+import org.apache.qpid.client.message.FiledTableSupport;
import org.apache.qpidity.nclient.Session;
import org.apache.qpidity.nclient.util.MessagePartListenerAdapter;
import org.apache.qpidity.ErrorCode;
@@ -41,6 +42,8 @@ import javax.jms.JMSException;
import javax.jms.Destination;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.UUID;
+import java.util.Map;
+import java.util.HashMap;
/**
* This is a 0.10 Session
@@ -189,7 +192,13 @@ public class AMQSession_0_10 extends AMQSession
final FieldTable arguments, final AMQShortString exchangeName)
throws AMQException, FailoverException
{
- getQpidSession().queueBind(queueName.toString(), exchangeName.toString(), routingKey.toString(), null);
+ Map args = FiledTableSupport.convertToMap(arguments);
+ // this is there only becasue the broker may expect a value for x-match
+ if( ! args.containsKey("x-match") )
+ {
+ args.put("x-match", "any");
+ }
+ getQpidSession().queueBind(queueName.toString(), exchangeName.toString(), routingKey.toString(), args);
// We need to sync so that we get notify of an error.
getQpidSession().sync();
getCurrentException();