diff options
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/src/qpid/broker/amqp/Filter.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Filter.cpp b/qpid/cpp/src/qpid/broker/amqp/Filter.cpp index 7da0a88878..b7b29e004d 100644 --- a/qpid/cpp/src/qpid/broker/amqp/Filter.cpp +++ b/qpid/cpp/src/qpid/broker/amqp/Filter.cpp @@ -262,7 +262,9 @@ void Filter::bind(boost::shared_ptr<Exchange> exchange, boost::shared_ptr<Queue> active.push_back(&headersFilter); } else if (exchange->getType() == XML) { setDefaultXQueryFilter(); - setDefaultSubjectFilter(); + if (!setDefaultSubjectFilter() && adjustDirectFilter()) { + QPID_LOG(info, "Using legacy topic filter as a direct matching filter for " << exchange->getName()); + } bindingArgs.setString(XQUERY, xqueryFilter.value); active.push_back(&subjectFilter); active.push_back(&xqueryFilter); |
