summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-05-05 14:22:25 +0000
committerGordon Sim <gsim@apache.org>2010-05-05 14:22:25 +0000
commit375ec81692fd7891cbc766bd86366143c985a3c6 (patch)
tree4cfa857572eed136a244cebf78b71fc7b0f38e0a /cpp/src
parent8c0153e035caa90758a6773493d5859716521e30 (diff)
downloadqpid-python-375ec81692fd7891cbc766bd86366143c985a3c6.tar.gz
Allow empty subject for direct- and xml- exchanges
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@941306 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/client/amqp0_10/AddressResolution.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp b/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
index 146d34932a..b819906677 100644
--- a/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
+++ b/cpp/src/qpid/client/amqp0_10/AddressResolution.cpp
@@ -127,7 +127,7 @@ const std::string FANOUT_EXCHANGE("fanout");
const std::string DIRECT_EXCHANGE("direct");
const std::string HEADERS_EXCHANGE("headers");
const std::string XML_EXCHANGE("xml");
-const std::string WILDCARD_ANY("*");
+const std::string WILDCARD_ANY("#");
const Verifier verifier;
}
@@ -529,8 +529,12 @@ void Subscription::bindAll()
Binding b(name, queue, "match-all");
b.arguments.setString("x-match", "all");
bindings.push_back(b);
- } else { //E.g. direct and xml
- throw ResolutionError(QPID_MSG("Cannot create binding to match all messages for exchange of type " << actualType));
+ } else if (actualType == XML_EXCHANGE) {
+ Binding b(name, queue, EMPTY_STRING);
+ b.arguments.setString("xquery", "true()");
+ bindings.push_back(b);
+ } else {
+ add(name, EMPTY_STRING);
}
}