summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/amqp/Session.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2014-06-25 10:17:18 +0000
committerGordon Sim <gsim@apache.org>2014-06-25 10:17:18 +0000
commit8843e06eb1123b74bde53d888f2d56fe154e7b63 (patch)
tree967185cf9478b2c1a4e775338614ffaac661194d /qpid/cpp/src/qpid/broker/amqp/Session.cpp
parent68845de60abe21ad102ed3e094a3674bd4b377a0 (diff)
downloadqpid-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.cpp7
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;