summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Connection.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-01-23 21:55:15 +0000
committerGordon Sim <gsim@apache.org>2009-01-23 21:55:15 +0000
commitb849efb083c88de6c1932d0f7a87a7c500dbd3d6 (patch)
tree727bdbdb8c3701d90a0d31e2f3e42b26d10c9f9d /cpp/src/qpid/broker/Connection.cpp
parent85428cec6a090c58c34453dee8b38ac20a619a96 (diff)
downloadqpid-python-b849efb083c88de6c1932d0f7a87a7c500dbd3d6.tar.gz
Use special management ids for objects used in state transfer to new members. This prevents the ids getting out of sync across the cluster and allows management methods to be used reliably.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737203 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Connection.cpp')
-rw-r--r--cpp/src/qpid/broker/Connection.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/cpp/src/qpid/broker/Connection.cpp b/cpp/src/qpid/broker/Connection.cpp
index 66ee6281c6..b7446a2220 100644
--- a/cpp/src/qpid/broker/Connection.cpp
+++ b/cpp/src/qpid/broker/Connection.cpp
@@ -48,7 +48,7 @@ namespace _qmf = qmf::org::apache::qpid::broker;
namespace qpid {
namespace broker {
-Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std::string& mgmtId_, bool isLink_) :
+Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std::string& mgmtId_, bool isLink_, uint64_t objectId) :
ConnectionState(out_, broker_),
adapter(*this, isLink_),
isLink(isLink_),
@@ -70,9 +70,10 @@ Connection::Connection(ConnectionOutputHandler* out_, Broker& broker_, const std
// TODO set last bool true if system connection
- if (agent != 0)
+ if (agent != 0) {
mgmtObject = new _qmf::Connection(agent, this, parent, mgmtId, !isLink, false);
- agent->addObject(mgmtObject);
+ agent->addObject(mgmtObject, objectId);
+ }
ConnectionState::setUrl(mgmtId);
}
}