summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/Queue.cpp')
-rw-r--r--cpp/src/qpid/broker/Queue.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp
index f87041390b..6334524612 100644
--- a/cpp/src/qpid/broker/Queue.cpp
+++ b/cpp/src/qpid/broker/Queue.cpp
@@ -1348,12 +1348,11 @@ void Queue::recoveryComplete(ExchangeRegistry& exchanges)
{
// set the alternate exchange
if (!alternateExchangeName.empty()) {
- try {
- Exchange::shared_ptr ae = exchanges.get(alternateExchangeName);
- setAlternateExchange(ae);
- } catch (const NotFoundException&) {
- QPID_LOG(warning, "Could not set alternate exchange \"" << alternateExchangeName << "\" on queue \"" << name << "\": exchange does not exist.");
- }
+ Exchange::shared_ptr ae = exchanges.find(alternateExchangeName);
+ if (ae) setAlternateExchange(ae);
+ else QPID_LOG(warning, "Could not set alternate exchange \""
+ << alternateExchangeName << "\" on queue \"" << name
+ << "\": exchange does not exist.");
}
//process any pending dequeues
for_each(pendingDequeues.begin(), pendingDequeues.end(), boost::bind(&Queue::dequeue, this, (TransactionContext*) 0, _1));