avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cameron Fieber <came...@fieber.ca>
Subject [merlin] JMX MBean generator facility
Date Sun, 29 Feb 2004 21:51:52 GMT
I have an initial version of a facility to create MBeans for 
components.  (source  is
currently at: http://remsats1.hpr.for.gov.bc.ca/jmx-facility.tar.gz)

It is working so far in my limited testing.

Currently, it is detecting a component's "management interfaces" by 
looking at its
list of implemented interfaces for interfaces that end with "MBean".  
This is not ideal
for two main reasons:
1) It would be nice to not be tied to a naming convention
2) Currently the component being managed has to declare that it provides its
   "MBean" interface as a service (@avalon.service tag) so that the 
Proxy for the
   component returned by ComponentModel.resolve() actually implements 
those methods.

With regards to #1 I was planning on looking at the avalon-meta stuff to 
figure out how to
add support for a new component level tag to declare a management 
interface, then figuring
out how to propagate that information down into the ComponentModel in 
Merlin.  I was
thinking @avalon.mx type="interface-name" since it's similar to what was 
in Phoenix.

As for #2, it seems wrong to have the management interface for a 
component exposed as
one of its service interfaces.  Is there a way to go from the 
ComponentModel of a component
to a non-proxied reference without forcing the particular component to 
never be proxied?  I'd
like the CompositionListener to retrieve a reference directly to the 
component so it can create
an MBean for the management interface, but still have the component able 
to be proxied when
it is provided as a service to other components.

Regards,

-Cameron

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Mime
View raw message