[ 
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]

Reply via email to