summaryrefslogtreecommitdiff
path: root/cpp
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
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')
-rw-r--r--cpp/examples/messaging/spout.cpp1
-rw-r--r--cpp/src/qpid/client/amqp0_10/AddressResolution.cpp10
2 files changed, 7 insertions, 4 deletions
diff --git a/cpp/examples/messaging/spout.cpp b/cpp/examples/messaging/spout.cpp
index 275ca416bc..05d66f60e6 100644
--- a/cpp/examples/messaging/spout.cpp
+++ b/cpp/examples/messaging/spout.cpp
@@ -160,7 +160,6 @@ int main(int argc, char** argv)
spoutid << id << ":" << count;
message.getProperties()["spout-id"] = spoutid.str();
sender.send(message);
- std::cout << "Sent " << (count+1) << " of " << options.count << " messages" <<std::endl;
}
connection.close();
return 0;
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);
}
}