avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Huw Roberts <...@mmlive.com>
Subject Management Targets, Topics and XML Generation of Management Info
Date Tue, 23 Jul 2002 05:36:38 GMT

Submission for XML definition of management interfaces

This submission implements the following functionality:
- management info is stored using the ModelMBeanInfo and related classes
- changes managed objects to be targets that have one or more topics.  each
topic is exported as an ModelMBean
- management info can optionally be generated from *.mxinfo files.  These
files need to be in the same directory as the class the describe
- mxinfo files can be generated using xdoclet tags in the source

I've tested with both DefaultManager and MX4JSystemManager.

I will submit documentation for these, but i think it will evolve a little
more as we get a little experience with it.

The next step after this is to add the tags into the source files, and
modify the build scripts so they get generated with the build. I hope you
like...

List of changes.
================

New Classes:

In org.apache.avalon.phoenix.components.manager:

Target - a target is a managed object.  It has one or more Topics (stored in
ModelMBeanInfo 

objects).  On export each topic is exported as a seperate MBean.

MBeanInfoBuilder - Builds a Target object by reading an mxinfo configuration
file and/or 

introspection.  If present the configuration file defines the topics and the
human friendly 

name for attributes and operations.

In org.apache.avalon.phoenix.tools.xdoclet

MxInfoSubTask - Builds a Target object by reading an mxinfo configuration
file and/or 

introspection.  If present the configuration file defines the topics and the
human friendly 

name for attributes and operations.

mxinfo.j - xdoclet template for generating the mxinfo files

Modified Classes:

ExportHelper - changed so doesn't export each management access
individually, but as an 

array of interfaces.  This is more like how it is done elsewhere.

DefaultApplicationContext - exportObject() changed to accept the array of
interfaces

AbstractJMXManager - lots of changes to generate Targets and export them

ApplicationContext - exportObject() changed to accept the array of
interfaces

PhoenixXDoclet - add the mxInfoSubTask

These changes are in the patch.diff file, which is taken at the
jakarta-avalon-phoenix/src level.


Mime
View raw message