diff options
Diffstat (limited to 'qpid/cpp/src/qpid/broker/amqp/Topic.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/broker/amqp/Topic.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Topic.cpp b/qpid/cpp/src/qpid/broker/amqp/Topic.cpp index ec0fc617b6..93f4b83f08 100644 --- a/qpid/cpp/src/qpid/broker/amqp/Topic.cpp +++ b/qpid/cpp/src/qpid/broker/amqp/Topic.cpp @@ -63,6 +63,7 @@ Topic::Topic(Broker& broker, const std::string& n, boost::shared_ptr<Exchange> e alternateExchange(getProperty(ALTERNATE_EXCHANGE, properties)) { if (exchange->getName().empty()) throw qpid::Exception("Exchange must be specified."); + if (durable && !exchange->isDurable()) throw qpid::Exception("Durable topic must be backed by durable exchange"); qpid::types::Variant::Map unused; qpid::types::Variant::Map filtered = filter(properties, true); |