Title: Management Targets, Topics and XML Generation of Management Info

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.

 

Attachment: patch.diff
Description: Binary data

Attachment: Target.java
Description: Binary data

Attachment: MBeanInfoBuilder.java
Description: Binary data

Attachment: MxInfoSubTask.java
Description: Binary data

Attachment: mxinfo.j
Description: Binary data

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


Reply via email to