qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrea Gazzarini (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge
Date Wed, 17 Sep 2008 15:11:44 GMT

     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Andrea Gazzarini updated QPID-1284:

    Attachment: QMan.jar

Hi Ted, thanks for your comments...be sure that I'm going to write you a lot of questions...

At the moment, if someone would have a look to the application (first version) and at the
code too, I submitted the whole qman archive. Notes :

- Methods & events invocation is not supported  
- Initial broker request is missing : the broker ID(s) that you can see on the management
console are generated randomly.
- only i,c,g and s operation codes are supported.

I will submit some sequence diagram to illustrate how it's working but at the moment here
is a little riepilogue.

- At startup QMan starts and reads the configuration file. Here the following associations
are made: management types with codes, operation codes and the corresponding handler class,
types and validators (min, max, maxlength).
- For each <broker> tag a "management client" is created and connected with the given
connection data. The connection is made following the specification foudn in the "management
design notes" document (private queue bound to qpid.management, method-reply queue bound to
amq.direct, etc...)
- Each broker starts to send ContentIndication messages containing instrumentation and configuration
- QMan receives those messages but at this moment it knows nothing about the mentioned package
/ class in the message. So raw data is cached and a schema request is made in order to get
the corresponding definition.
- The qpid broker receives the request (S) and answer with a 's' response containing schema
for requested class.
- QMan receives schema(s) and create the corresponding definition on domain model. The accumulated
instrumentation / configuration raw data is now ready to be converted and the stored object
instances are now registered to MBean server.
- When another content indication message arrives (related to the previous class) on QMan
the raw data is converted immediately into property / statistic values and the corresponding
object instance is updated with new values.
- When another content indication messages arrives and it contains an unknown package / class
a new schema request (S) is made...         

The archive contains also the source code (src & test folders) so feel free to have a
look and of course any comment would be appreciated.

-- Gazza --

> QMan : Qpid JMX Management Bridge
> ---------------------------------
>                 Key: QPID-1284
>                 URL: https://issues.apache.org/jira/browse/QPID-1284
>             Project: Qpid
>          Issue Type: New Feature
>    Affects Versions: M3
>         Environment: J2SE 5, any OS that is supporting Java
>            Reporter: Andrea Gazzarini
>         Attachments: DomainModel.jpg, QMan.jar
> QMan is an application used for exposing via JMX the management domain model of one or
more remote brokers.
> Capabilities (the list is not complete) : 
> - Operates from a formally defined management schema;
> - Uses the AMQP protocol and its type system for communicating with remote brokers;
> - Exposes via JMX the remote broker domain model: that means for each connected broker
QMan lets you see its domain model entities according to their schema (attribute, methods,
statistics and events). In addition, lets you invoke operations on those entities.  
> - Multi broker management; 
> - It doesn't have prior knowledge of the management model of the system under management.
no definition is hard-coded and entity definitions (schema) are requested and built "on demand";
> - Namespace separation between brokers : each connected broker can have a different schema.

> - JMX interface : QMan is itself a Management Bean and using JMX it exposes its public
interface (for example, to connect with a new broker). So at the end it should be exposed
via WS-DM, SMTP, RMI, etc...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message