summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/TopicExchange.cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2010-02-12 21:23:27 +0000
committerTed Ross <tross@apache.org>2010-02-12 21:23:27 +0000
commit0b4bb5acdba9afef93a99864b39e1de438b5dc42 (patch)
tree5582b724a780595e6a33ac959a313c3e0e65048e /cpp/src/qpid/broker/TopicExchange.cpp
parent1827a69f01ea0a955161fd93edfa137d7b1723a4 (diff)
downloadqpid-python-0b4bb5acdba9afef93a99864b39e1de438b5dc42.tar.gz
Changes needed for QPID-2029 (Clustering and Management don't work well together)
This update changes the indexing of object IDs in the broker-resident management agent from being based on the QMFv1 format (numeric) to the QMFv2 format (string name). This removes the need for numeric objectIds to be synchronized across a set of clustered brokers. Also included in this patch is a fix to a bug in binding creation. Previously, when a binding was created that already existed, the management object for the proposed binding (duplicate of the existing one) was created then destroyed. This is inefficient and causes problems when the name-based indexes collide. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@909610 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/TopicExchange.cpp')
-rw-r--r--cpp/src/qpid/broker/TopicExchange.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/TopicExchange.cpp b/cpp/src/qpid/broker/TopicExchange.cpp
index dd57549b5d..6e53ef5fd2 100644
--- a/cpp/src/qpid/broker/TopicExchange.cpp
+++ b/cpp/src/qpid/broker/TopicExchange.cpp
@@ -207,6 +207,7 @@ bool TopicExchange::bind(Queue::shared_ptr queue, const string& routingKey, cons
return false;
} else {
Binding::shared_ptr binding (new Binding (routingPattern, queue, this, FieldTable(), fedOrigin));
+ binding->startManagement();
BoundKey& bk = bindings[routingPattern];
bk.bindingVector.push_back(binding);
propagate = bk.fedBinding.addOrigin(fedOrigin);