diff options
Diffstat (limited to 'cpp/src/qpid/cluster/UpdateClient.cpp')
-rw-r--r-- | cpp/src/qpid/cluster/UpdateClient.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/cpp/src/qpid/cluster/UpdateClient.cpp b/cpp/src/qpid/cluster/UpdateClient.cpp index 3fba194d44..6c8bb7e890 100644 --- a/cpp/src/qpid/cluster/UpdateClient.cpp +++ b/cpp/src/qpid/cluster/UpdateClient.cpp @@ -190,14 +190,15 @@ template <class T> std::string encode(const T& t) { // void UpdateClient::updateManagementSetupState(Broker & b) { - qmf::org::apache::qpid::broker::ManagementSetupState mss(b.getManagementAgent(), 0); - mss.set_objectNum(b.getManagementAgent()->getNextObjectId()); - mss.set_bootSequence(b.getManagementAgent()->getBootSequence()); - - QPID_LOG(debug, updaterId << " updating management-setup-state " << mss.get_objectNum() - << " " << mss.get_bootSequence() << "\n"); - - ClusterConnectionProxy(session).managementSetupState(mss.get_objectNum(), mss.get_bootSequence()); + management::ManagementAgent* agent = updaterBroker.getManagementAgent(); + if (agent) { + qmf::org::apache::qpid::broker::ManagementSetupState mss(b.getManagementAgent(), 0); + mss.set_objectNum(b.getManagementAgent()->getNextObjectId()); + mss.set_bootSequence(b.getManagementAgent()->getBootSequence()); + QPID_LOG(debug, updaterId << " updating management-setup-state " << mss.get_objectNum() + << " " << mss.get_bootSequence() << "\n"); + ClusterConnectionProxy(session).managementSetupState(mss.get_objectNum(), mss.get_bootSequence()); + } } void UpdateClient::updateExchange(const boost::shared_ptr<Exchange>& ex) { |