diff options
author | Gordon Sim <gsim@apache.org> | 2014-06-25 10:17:18 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2014-06-25 10:17:18 +0000 |
commit | 8843e06eb1123b74bde53d888f2d56fe154e7b63 (patch) | |
tree | 967185cf9478b2c1a4e775338614ffaac661194d /qpid/cpp/src/qpid/broker/amqp/Session.cpp | |
parent | 68845de60abe21ad102ed3e094a3674bd4b377a0 (diff) | |
download | qpid-python-8843e06eb1123b74bde53d888f2d56fe154e7b63.tar.gz |
QPID-5845: topic policy's auto delete delay should not be overridden by link specific timeout
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1605320 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/broker/amqp/Session.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/broker/amqp/Session.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/amqp/Session.cpp b/qpid/cpp/src/qpid/broker/amqp/Session.cpp index 5f0dd2e101..b43deeab3d 100644 --- a/qpid/cpp/src/qpid/broker/amqp/Session.cpp +++ b/qpid/cpp/src/qpid/broker/amqp/Session.cpp @@ -486,10 +486,13 @@ void Session::setupOutgoing(pn_link_t* link, pn_terminus_t* source, const std::s if (!settings.autodelete) settings.autodelete = autodelete; altExchange = node.topic->getAlternateExchange(); } - settings.autoDeleteDelay = pn_terminus_get_timeout(source); + if (!settings.autoDeleteDelay) { + //only use delay from link if policy didn't specify one + settings.autoDeleteDelay = pn_terminus_get_timeout(source); + settings.original["qpid.auto_delete_timeout"] = settings.autoDeleteDelay; + } if (settings.autoDeleteDelay) { settings.autodelete = true; - settings.original["qpid.auto_delete_timeout"] = settings.autoDeleteDelay; } filter.configure(settings); std::stringstream queueName; |