summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Exchange.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/Exchange.cpp')
-rw-r--r--cpp/src/qpid/broker/Exchange.cpp42
1 files changed, 14 insertions, 28 deletions
diff --git a/cpp/src/qpid/broker/Exchange.cpp b/cpp/src/qpid/broker/Exchange.cpp
index fed6698c36..1188cf0e5b 100644
--- a/cpp/src/qpid/broker/Exchange.cpp
+++ b/cpp/src/qpid/broker/Exchange.cpp
@@ -132,7 +132,7 @@ Exchange::Exchange (const string& _name, Manageable* parent, Broker* b) :
mgmtExchange = new _qmf::Exchange (agent, this, parent, _name);
mgmtExchange->set_durable(durable);
mgmtExchange->set_autoDelete(false);
- agent->addObject (mgmtExchange);
+ agent->addObject(mgmtExchange, 0, durable);
}
}
}
@@ -151,15 +151,7 @@ Exchange::Exchange(const string& _name, bool _durable, const qpid::framing::Fiel
mgmtExchange->set_durable(durable);
mgmtExchange->set_autoDelete(false);
mgmtExchange->set_arguments(ManagementAgent::toMap(args));
- if (!durable) {
- if (name.empty()) {
- agent->addObject (mgmtExchange, 0x1000000000000004LL); // Special default exchange ID
- } else if (name == QPID_MANAGEMENT) {
- agent->addObject (mgmtExchange, 0x1000000000000005LL); // Special management exchange ID
- } else {
- agent->addObject (mgmtExchange, agent->allocateId(this));
- }
- }
+ agent->addObject(mgmtExchange, 0, durable);
}
}
@@ -192,11 +184,6 @@ void Exchange::setAlternate(Exchange::shared_ptr _alternate)
void Exchange::setPersistenceId(uint64_t id) const
{
- if (mgmtExchange != 0 && persistenceId == 0)
- {
- ManagementAgent* agent = broker->getManagementAgent();
- agent->addObject (mgmtExchange, 0x2000000000000000LL + id);
- }
persistenceId = id;
}
@@ -330,20 +317,19 @@ void Exchange::Binding::startManagement()
Broker* broker = parent->getBroker();
if (broker != 0) {
ManagementAgent* agent = broker->getManagementAgent();
- if (agent != 0)
- {
- ManagementObject* mo = queue->GetManagementObject();
- if (mo != 0)
- {
- management::ObjectId queueId = mo->getObjectId();
- mgmtBinding = new _qmf::Binding
- (agent, this, (Manageable*) parent, queueId, key, ManagementAgent::toMap(args));
- if (!origin.empty())
- mgmtBinding->set_origin(origin);
- agent->addObject (mgmtBinding, agent->allocateId(this));
- static_cast<_qmf::Queue*>(mo)->inc_bindingCount();
- }
+ if (agent != 0) {
+ ManagementObject* mo = queue->GetManagementObject();
+ if (mo != 0) {
+ management::ObjectId queueId = mo->getObjectId();
+
+ mgmtBinding = new _qmf::Binding
+ (agent, this, (Manageable*) parent, queueId, key, ManagementAgent::toMap(args));
+ if (!origin.empty())
+ mgmtBinding->set_origin(origin);
+ agent->addObject(mgmtBinding);
+ static_cast<_qmf::Queue*>(mo)->inc_bindingCount();
}
+ }
}
}
}