Management updates: additional objects implemented
--------------------------------------------------
Key: QPID-693
URL: https://issues.apache.org/jira/browse/QPID-693
Project: Qpid
Issue Type: Improvement
Components: C++ Broker
Reporter: Ted Ross
Priority: Minor
Queue statistics fixed. Additional objects added (exchange, binding).
Changes:
M cpp/src/qpid/broker/BrokerAdapter.cpp
M cpp/src/tests/QueueTest.cpp
Updated usage of Queue::bound. Call now uses exchange shared_ptr
rather than exchange name.
M cpp/src/qpid/broker/QueueBindings.h
M cpp/src/qpid/broker/QueueBindings.cpp
QueueBindings::Binding now inherits Manageable so bindings can be
visible from the management interface. The constructor was
modified to use the exchange pointer rather than the exchange
name. Note that only the exchange name is stored in the structure.
M cpp/src/qpid/broker/ExchangeRegistry.h
M cpp/src/qpid/broker/ExchangeRegistry.cpp
ExchangeRegistry was modified to pass a parent pointer to created
exchanges. This parent reference is not stored but is used to
link management objects in a hierarchy of ownership.
M cpp/src/qpid/broker/Exchange.h
M cpp/src/qpid/broker/Exchange.cpp
Exchange now inherits Manageable to make it visible via the
management interface. The Exchange parent class handles most of
the management boilerplate.
M cpp/src/qpid/broker/HeadersExchange.h
M cpp/src/qpid/broker/FanOutExchange.h
M cpp/src/qpid/broker/DirectExchange.h
M cpp/src/qpid/broker/TopicExchange.h
M cpp/src/qpid/broker/HeadersExchange.cpp
M cpp/src/qpid/broker/FanOutExchange.cpp
M cpp/src/qpid/broker/DirectExchange.cpp
M cpp/src/qpid/broker/TopicExchange.cpp
M cpp/src/qpid/management/ManagementExchange.cpp
M cpp/src/qpid/management/ManagementExchange.h
Each exchange type handles management stats in its own specific
way. Additionally, the constructors pass the management parent
pointer to the constructor or Exchange.
M cpp/src/qpid/broker/Broker.cpp
Broker now explicitly enables the management agent. Also sets the
management parent (vhost) in the exchange registry.
M cpp/src/qpid/broker/Vhost.cpp
Updated constructor to be more defensive in case the management
agent has not been enabled.
M cpp/src/qpid/broker/Queue.h
M cpp/src/qpid/broker/Queue.cpp
Same constructor update as vhost. Moved accounting of dequeues
into "pop". Changed signature of "bound" to use exchange pointer
rather than exchange name. Implemented management method handler
(purge).
M cpp/src/qpid/broker/Deliverable.h
A new method was added to extract the content size of the
deliverable content (if appropriate). The method is not pure
virtual and returns zero if not overridden.
M cpp/src/qpid/broker/DeliverableMessage.h
M cpp/src/qpid/broker/TxPublish.cpp
M cpp/src/qpid/broker/DeliverableMessage.cpp
M cpp/src/qpid/broker/TxPublish.h
These derivatives of Deliverable were updated with overrides for
contenSize.
M cpp/src/qpid/management/ManagementAgent.h
M cpp/src/qpid/management/ManagementAgent.cpp
An "enable" method was added to prevent inadvertent creation of a
management agent when not desired.
Adding and deleting management objects is now protected by a
mutex.
M specs/management-schema.xml
Minor cosmetic updates. Additional parent linkage.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.