diff options
-rw-r--r-- | qpid/cpp/src/qpid/ha/BrokerReplicator.cpp | 4 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/ha/HaBroker.cpp | 2 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/ha/QueueReplicator.cpp | 7 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/ha/QueueReplicator.h | 4 |
4 files changed, 5 insertions, 12 deletions
diff --git a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp index 6a17555b6f..91a4bf242b 100644 --- a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp +++ b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp @@ -299,12 +299,10 @@ void BrokerReplicator::route(Deliverable& msg) { } catch (const std::exception& e) { QPID_LOG(critical, logPrefix << "Configuration failed: " << e.what() << ": while handling: " << list); - haBroker.shutdown(); throw; } } - void BrokerReplicator::doEventQueueDeclare(Variant::Map& values) { Variant::Map argsMap = asMapVoid(values[ARGS]); bool autoDel = values[AUTODEL].asBool(); @@ -544,7 +542,7 @@ void BrokerReplicator::startQueueReplicator(const boost::shared_ptr<Queue>& queu { if (replicationTest.replicateLevel(queue->getSettings()) == ALL) { boost::shared_ptr<QueueReplicator> qr( - new QueueReplicator(haBroker, queue, link)); + new QueueReplicator(haBroker.getBrokerInfo(), queue, link)); if (!broker.getExchanges().registerExchange(qr)) throw Exception(QPID_MSG("Duplicate queue replicator " << qr->getName())); qr->activate(); diff --git a/qpid/cpp/src/qpid/ha/HaBroker.cpp b/qpid/cpp/src/qpid/ha/HaBroker.cpp index d126639813..fc74ce633a 100644 --- a/qpid/cpp/src/qpid/ha/HaBroker.cpp +++ b/qpid/cpp/src/qpid/ha/HaBroker.cpp @@ -193,7 +193,7 @@ Manageable::status_t HaBroker::ManagementMethod (uint32_t methodId, Args& args, link->setUrl(url); // Create a queue replicator boost::shared_ptr<QueueReplicator> qr( - new QueueReplicator(*this, queue, link)); + new QueueReplicator(brokerInfo, queue, link)); qr->activate(); broker.getExchanges().registerExchange(qr); break; diff --git a/qpid/cpp/src/qpid/ha/QueueReplicator.cpp b/qpid/cpp/src/qpid/ha/QueueReplicator.cpp index be910a087f..a55fa00562 100644 --- a/qpid/cpp/src/qpid/ha/QueueReplicator.cpp +++ b/qpid/cpp/src/qpid/ha/QueueReplicator.cpp @@ -19,7 +19,6 @@ * */ -#include "HaBroker.h" #include "QueueReplicator.h" #include "ReplicatingSubscription.h" #include "qpid/broker/Bridge.h" @@ -59,13 +58,12 @@ bool QueueReplicator::isEventKey(const std::string key) { return ret; } -QueueReplicator::QueueReplicator(HaBroker& hb, +QueueReplicator::QueueReplicator(const BrokerInfo& info, boost::shared_ptr<Queue> q, boost::shared_ptr<Link> l) : Exchange(replicatorName(q->getName()), 0, q->getBroker()), - haBroker(hb), logPrefix("Backup queue "+q->getName()+": "), - queue(q), link(l), brokerInfo(hb.getBrokerInfo()) + queue(q), link(l), brokerInfo(info) { Uuid uuid(true); bridgeName = replicatorName(q->getName()) + std::string(".") + uuid.str(); @@ -185,7 +183,6 @@ void QueueReplicator::route(Deliverable& msg) } catch (const std::exception& e) { QPID_LOG(critical, logPrefix << "Replication failed: " << e.what()); - haBroker.shutdown(); throw; } } diff --git a/qpid/cpp/src/qpid/ha/QueueReplicator.h b/qpid/cpp/src/qpid/ha/QueueReplicator.h index f8a68ea38f..6754174076 100644 --- a/qpid/cpp/src/qpid/ha/QueueReplicator.h +++ b/qpid/cpp/src/qpid/ha/QueueReplicator.h @@ -40,7 +40,6 @@ class Deliverable; } namespace ha { -class HaBroker; /** * Exchange created on a backup broker to replicate a queue on the primary. @@ -61,7 +60,7 @@ class QueueReplicator : public broker::Exchange, /** Test if a string is an event key */ static bool isEventKey(const std::string key); - QueueReplicator(HaBroker&, + QueueReplicator(const BrokerInfo&, boost::shared_ptr<broker::Queue> q, boost::shared_ptr<broker::Link> l); @@ -81,7 +80,6 @@ class QueueReplicator : public broker::Exchange, void initializeBridge(broker::Bridge& bridge, broker::SessionHandler& sessionHandler); void dequeue(framing::SequenceNumber, sys::Mutex::ScopedLock&); - HaBroker& haBroker; std::string logPrefix; std::string bridgeName; sys::Mutex lock; |