avalon-phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Huw Roberts <...@apache.org>
Subject Re: Management MBean Interfaces - Stay or go?
Date Tue, 06 Aug 2002 06:55:15 GMT
At 04:06 PM 8/6/02 +1000, you wrote:
>At 09:35 PM 8/5/2002 -0700, you wrote:
>>There are two ways to expose management information now:
>>1) use the phoenix-mx tags to markup blocks/apps/components as 
>>management-enabled and then specify the methods and attributes to export
>>2) have the class implement a management interface (usually called 
>>*MBean), and pass that into the export() method
>>Method 2) is supported, but at least in my opinion, no longer the best 
>>way to go.  Can I remove them and then mark-up the base classes with the 
>>management info?  Or will that break a lot of code?
>Are you talking about internal phoenix components or blocks hosted by 
>Phoenix? If it is internal phoenix components then go for it. However if 
>you are talking about blocks then I would not like to see raw interfaces 
>become unsupported.
>The main reason they were added was to allow users to do something like 
>the following;
>MBeanServer mBeanServer = ....;
>ObjectName name = ...;
>FooMBean foo = (FooMBean)MBeanProxy.lookup( name, mBeanServer, 
>FooMBean.class );
>They could treat the managed objects as normal objects rather than going 
>directly through MBeanServer. So I would like to see them still supported.
>However if you want to make some of the apps/components hosted in avalon 
>use this style then go for it. FWIW many other projects actually 
>dynamically generate the FooMBean interface from xdoclet like decorations 
>so that may be a long term direction.
>Personally I would prefer to keep management stuff isolated to MBean 
>interfaces and or proxies when/if you implement that but up to you.
>However I would prefer to keep the ability to manage via interfaces (and 
>corresponding entrys in .xinfo files).

Ok, now i've changed my mind, at least for now. :).

The only thing in question right now is what the ''standard pattern" is 
going to be.  Users have two choices:
(a) markup the managed class with phoenix-mx tags directly.
(b) have the managed class implement a management interface and mark that up.

Both of these will work, its just a question of which is the one you would 
recommend to someone (which we'll be doing in the docs). For now the 
recommendation will be to put management info in an MBean interface.

Automagically generating the interfaces from the descriptors sounds like a 
great way to go, but I don't see that happening in this release.  If/when 
that happens we can change the standard from (b) to (a).

Sound ok?

To unsubscribe, e-mail:   <mailto:avalon-phoenix-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-phoenix-dev-help@jakarta.apache.org>

View raw message