"Craig R. McClanahan" wrote:
> 
> >  It looks like the current mbeans code is mostly boilerplate.
> 
> In what respect? 
>

 Well, taking StandardHostMBean as an example, many of the
methods take a String argument, convert it to an ObjectName,
get the underlying object using getAttribute(), and then call
the actual operation on the wrapped Catalina objects. That can
all be done using introspection and the info in
mbeans-descriptors.xml. I think the other methods could
be similarly automated.

 Note that I'm clear that the normal JMX mechanisms do not
provide this. RequiredModelMBean is a start, but there would
need to be extra code to do the mappings between Strings,
ObjectNames, and Objects. I'm suggesting that that code is
for the most part boilerplate, and there's enough information 
available through introspection and the modeler Registry to
implement a completely generic Catalina MBean that could be
used in place of many/most of the existing hand-coded Catalina
MBeans.


> Consider the following method on the o.a.c.UserDatabase interface:
> 
>     public Iterator getUsers();
> 

 You're right, automatically converting between the version of
getUsers() that returns an Iterator and the version that
returns a String[] would take an overly clever mechanism.
MemoryUserDatabase MBean would be hard to get rid of.

 But it looks like most of the objects that need to be managed
already use easy-to-recognize bean patterns for their interfaces.
I'm pretty sure StandardHostMBean, for example, could be entirely
eliminated.

 It matters in general because it adds an extra burden to
Catalina developers to have to write a new hand-coded MBean
every time they want to add a new kind of object. I suspect
most people won't bother, especially if it's an in-house sort
of thing. That still leaves the issue of adding entries to
mbeans-descriptors.xml, and possibly having to rewrite parts
of the admin webapp, but every little bit helps.

 I care because I'm trying looking at hacking up a debloated
(excuse me, "slimmed down" :-) configuration of Catalina for
use inside a tool I'm writing. Although there's a good chance
there wouldn't be room for JMX, I'd like to maintain as much
compatibility as possible with the standard Catalina tools.
That's easy if MBeans are automagically created for me...
 
-- 
Christopher St. John [EMAIL PROTECTED]
DistribuTopia http://www.distributopia.com

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

Reply via email to