From 375ec81692fd7891cbc766bd86366143c985a3c6 Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Wed, 5 May 2010 14:22:25 +0000 Subject: 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 --- cpp/src/qpid/client/amqp0_10/AddressResolution.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'cpp/src') 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); } } -- cgit v1.2.1