Description
This is the first release of a QMF2 API Implementation for Java.
Features:
- Full Implementation of QMF2 Console, Agent and AgentExternal.
- Supports QMF2 Query Subscriptions on Agent/AgentExternal implementations.
- Emulates QMF2 Query Subscriptions on the Console side for the broker ManagementAgent by
intercepting _data indications and filtering against QmfQuery. This is necessary as the
ManagemetAgent doesn't yet support QMF2 style Query Subscriptions. - Console supports Agent discovery via findAgent() method, which can support partial matches,
which is useful because the full Agent name has a UUID representing the "instance" so it's hard
to know the full name. - QmfQuery supports regex matching.
- Supports QMF2 WorkItem Event model and in addition supports an alternative QmfEventListener
Event model, which is rather more like the JMS MessageListener model.
Example Tools Provided:
- ConnectionAudit: Audits connections to one or more Qpid message brokers against a whitelist.
- ConnectionLogger: A QMF2 class used to provide information about connections made to a broker.
- QpidConfig: QpidConfig is a fairly "literal" Java port of the python qpid-config tool. Uses pure
QMF2 for adding/deleting queues, exchanges & bindings this provides useful illustration of how
to do these things using the ManagementAgent method calls. - QpidCtrl: A tool to allow QMF2 methods to be invoked from the command line.
- QpidPrintEvents: Collect and print events from one or more Qpid message brokers.
- QpidQueueStats: Collect and print queue statistics. This is a rewrite of the Python version and
illustrates the use of QuerySubscriptions (via the Console side emulation)to subscribe to
objects on the ManagementAgent. - QueueFuse: QueueFuse provides protection to message producers from consumers who can't consume
messages fast enough.