summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker')
-rw-r--r--cpp/src/qpid/broker/Broker.cpp2
-rw-r--r--cpp/src/qpid/broker/Exchange.cpp42
-rw-r--r--cpp/src/qpid/broker/Link.cpp7
-rw-r--r--cpp/src/qpid/broker/Queue.cpp28
-rw-r--r--cpp/src/qpid/broker/SemanticState.cpp2
-rw-r--r--cpp/src/qpid/broker/SessionState.cpp2
-rw-r--r--cpp/src/qpid/broker/System.cpp2
-rw-r--r--cpp/src/qpid/broker/Vhost.cpp2
8 files changed, 28 insertions, 59 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp
index 50ab543baf..c95efaa1ef 100644
--- a/cpp/src/qpid/broker/Broker.cpp
+++ b/cpp/src/qpid/broker/Broker.cpp
@@ -185,7 +185,7 @@ Broker::Broker(const Broker::Options& conf) :
else
mgmtObject->clr_dataDir();
- managementAgent->addObject(mgmtObject, 0x1000000000000002LL);
+ managementAgent->addObject(mgmtObject, 0, true);
// Since there is currently no support for virtual hosts, a placeholder object
// representing the implied single virtual host is added here to keep the
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();
}
+ }
}
}
}
diff --git a/cpp/src/qpid/broker/Link.cpp b/cpp/src/qpid/broker/Link.cpp
index cdba18ccf9..c88cabbda7 100644
--- a/cpp/src/qpid/broker/Link.cpp
+++ b/cpp/src/qpid/broker/Link.cpp
@@ -74,8 +74,7 @@ Link::Link(LinkRegistry* _links,
if (agent != 0)
{
mgmtObject = new _qmf::Link(agent, this, parent, _host, _port, _transport, _durable);
- if (!durable)
- agent->addObject(mgmtObject);
+ agent->addObject(mgmtObject, 0, durable);
}
}
setStateLH(STATE_WAITING);
@@ -353,10 +352,6 @@ void Link::notifyConnectionForced(const string text)
void Link::setPersistenceId(uint64_t id) const
{
- if (mgmtObject != 0 && persistenceId == 0) {
- ManagementAgent* agent = broker->getManagementAgent();
- agent->addObject(mgmtObject, id);
- }
persistenceId = id;
}
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp
index d3a464a6fe..3b7461e094 100644
--- a/cpp/src/qpid/broker/Queue.cpp
+++ b/cpp/src/qpid/broker/Queue.cpp
@@ -105,19 +105,12 @@ Queue::Queue(const string& _name, bool _autodelete,
broker(b),
deleted(false)
{
- if (parent != 0 && broker != 0)
- {
+ if (parent != 0 && broker != 0) {
ManagementAgent* agent = broker->getManagementAgent();
- if (agent != 0)
- {
+ if (agent != 0) {
mgmtObject = new _qmf::Queue(agent, this, parent, _name, _store != 0, _autodelete, _owner != 0);
-
- // Add the object to the management agent only if this queue is not durable.
- // If it's durable, we will add it later when the queue is assigned a persistenceId.
- if (store == 0) {
- agent->addObject (mgmtObject, agent->allocateId(this));
- }
+ agent->addObject(mgmtObject, 0, store != 0);
}
}
}
@@ -125,7 +118,7 @@ Queue::Queue(const string& _name, bool _autodelete,
Queue::~Queue()
{
if (mgmtObject != 0)
- mgmtObject->resourceDestroy ();
+ mgmtObject->resourceDestroy();
}
bool isLocalTo(const OwnershipToken* token, boost::intrusive_ptr<Message>& msg)
@@ -942,16 +935,11 @@ uint64_t Queue::getPersistenceId() const
void Queue::setPersistenceId(uint64_t _persistenceId) const
{
- if (mgmtObject != 0 && persistenceId == 0)
+ if (mgmtObject != 0 && persistenceId == 0 && externalQueueStore)
{
- ManagementAgent* agent = broker->getManagementAgent();
- agent->addObject (mgmtObject, 0x3000000000000000LL + _persistenceId);
-
- if (externalQueueStore) {
- ManagementObject* childObj = externalQueueStore->GetManagementObject();
- if (childObj != 0)
- childObj->setReference(mgmtObject->getObjectId());
- }
+ ManagementObject* childObj = externalQueueStore->GetManagementObject();
+ if (childObj != 0)
+ childObj->setReference(mgmtObject->getObjectId());
}
persistenceId = _persistenceId;
}
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp
index d4fa465f37..cb06db086a 100644
--- a/cpp/src/qpid/broker/SemanticState.cpp
+++ b/cpp/src/qpid/broker/SemanticState.cpp
@@ -281,7 +281,7 @@ SemanticState::ConsumerImpl::ConsumerImpl(SemanticState* _parent,
{
mgmtObject = new _qmf::Subscription(agent, this, ms , queue->GetManagementObject()->getObjectId() ,name,
!acquire, ackExpected, exclusive, ManagementAgent::toMap(arguments));
- agent->addObject (mgmtObject, agent->allocateId(this));
+ agent->addObject (mgmtObject);
mgmtObject->set_creditMode("WINDOW");
}
}
diff --git a/cpp/src/qpid/broker/SessionState.cpp b/cpp/src/qpid/broker/SessionState.cpp
index 4d5fe14690..ddf68cad2f 100644
--- a/cpp/src/qpid/broker/SessionState.cpp
+++ b/cpp/src/qpid/broker/SessionState.cpp
@@ -81,7 +81,7 @@ SessionState::SessionState(
mgmtObject->set_detachedLifespan (0);
mgmtObject->clr_expireTime();
if (rateFlowcontrol) mgmtObject->set_maxClientRate(maxRate);
- agent->addObject (mgmtObject, agent->allocateId(this));
+ agent->addObject(mgmtObject);
}
}
attach(h);
diff --git a/cpp/src/qpid/broker/System.cpp b/cpp/src/qpid/broker/System.cpp
index 90c6b13cd3..8cd2edda76 100644
--- a/cpp/src/qpid/broker/System.cpp
+++ b/cpp/src/qpid/broker/System.cpp
@@ -78,7 +78,7 @@ System::System (string _dataDir, Broker* broker) : mgmtObject(0)
mgmtObject->set_version (version);
mgmtObject->set_machine (machine);
- agent->addObject (mgmtObject, 0x1000000000000001LL);
+ agent->addObject(mgmtObject, 0, true);
}
}
diff --git a/cpp/src/qpid/broker/Vhost.cpp b/cpp/src/qpid/broker/Vhost.cpp
index df37cba255..a9ca3b42ab 100644
--- a/cpp/src/qpid/broker/Vhost.cpp
+++ b/cpp/src/qpid/broker/Vhost.cpp
@@ -38,7 +38,7 @@ Vhost::Vhost (qpid::management::Manageable* parentBroker, Broker* broker) : mgmt
if (agent != 0)
{
mgmtObject = new _qmf::Vhost(agent, this, parentBroker, "/");
- agent->addObject (mgmtObject, 0x1000000000000003LL);
+ agent->addObject(mgmtObject, 0, true);
}
}
}