[
https://issues.apache.org/jira/browse/QPID-3675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Fraser Adams updated QPID-3675:
-------------------------------
Attachment: qmf2-v1.3.tar.gz
QMF2 & Qpid GUI Release 1.3
New Features:
* Implemented QMF2 support for the Java Broker via the ManagementFactory and
ManagementPlugin interfaces with QMF
Management Objects backed by the recent org.apache.qpid.server.model.*
classes. Tested on Qpid 0.20 your mileage
may vary on earlier version of the Java Broker.
* Fairly complete support for the main QMF management-schema.xml within the
current constraints of the
org.apache.qpid.server.model.* classes.
* Support for create/delete of exchange, queue, bindings.
* Works with recent (QMF2 based) qpid-config.
* Virtual Hosts are supported. In order to remain compatible with qpid-config
I've adopted a convention
[vhost:<vhost-name>/]<queue-name>, [vhost:<vhost-name>/]<exchange-name>
in other words with the default Virtual Host the Virtual Host name is
"hidden" but for other Virtual Hosts
exchanges/queues are prefixed with "vhost:<vhost-name>/". So for example:
qpid-config add queue vhost:development/test
would add a queue called "test" to the Virtual Host called "development".
* QMF Events are created e.g. clientConnect, clientDisconnect, queueDeclare,
queueDelete etc. though some properties
aren't fully populated due to current limitations of
org.apache.qpid.server.model.* classes.
* QMF2 GUI supports Java Broker though it could do with some tweaks to improve
presentation for multiple Virtual Hosts.
Limitations:
* There are quite a few differences between the C++ and Java Brokers
particularly with respect to Queues. It
would be good to add extra features to the org.apache.qpid.server.model.*
classes to bridge some of the gaps.
* The QMF GUI could do with allowing some of the extra features of the Java
Broker so a bit of thought is going
to be needed to present this in the most consistent manner.
Note that this is an initial release. It could definitely do with more soak
testing so if you use this on an
operational Broker be aware of this. It's looking pretty good but I can't
guarantee that there won't be quirks.
Look at README-java-Broker but in precis:
ant broker-plugin
N.B. this requires that the Qpid jars (preferably qpid-all.jar) are on your
CLASSPATH and that the
QPID_HOME environment variable is set to point to <qpid>/java/build (QPID_HOME
is needed by the Java
broker anyway).
> New Feature Announce - Java QMF2 API Implementation.
> ----------------------------------------------------
>
> Key: QPID-3675
> URL: https://issues.apache.org/jira/browse/QPID-3675
> Project: Qpid
> Issue Type: New Feature
> Components: Qpid Managment Framework
> Affects Versions: 0.12
> Environment: Java QMF2
> Reporter: Fraser Adams
> Assignee: Ted Ross
> Labels: features
> Attachments: Firefox Graphs.png, IE8 Add Queue.png, ipod
> bindings.png, qmf2.tar.gz, qmf2.tar.gz, qmf2-v1.1.tar.gz, qmf2-v1.2.tar.gz,
> qmf2-v1.3.tar.gz
>
>
> 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.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]