[
https://issues.apache.org/jira/browse/QPID-693?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Conway resolved QPID-693.
------------------------------
Resolution: Fixed
committed in revision 601807
> 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
> Attachments: qpid-patch10.diff
>
>
> Queue statistics fixed. Additional objects added (exchange, binding).
> Changes:
> 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. A Binding struct was introduced to
> track bindings for management. This is separate from
> QueueBindings which track bindings for queues.
> 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.
> An extra layer was added to contain bindings. Instead of directly
> storing bound queues, the exchanges store "bindings" which are
> managable constructs.
> 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.cpp
> Same constructor update as vhost. Moved accounting of dequeues
> into "pop". 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.
> Make sure that deleted objects get reported even if neither their
> configuration nor instrumentation is changed.
> M specs/management-schema.xml
> Minor cosmetic updates. Additional parent linkage.
> M cpp/managementgen/schema.py
> M cpp/managementgen/templates/Class.cpp
> Added generated code to publish schema details for methods.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.