[
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 data.
- 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.
Regards,
-- 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.