summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/amqp/Filter.cpp4
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);