geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Schumann <>
Subject Re: Dynamic MBeans. Was: Kernel Architecture
Date Tue, 12 Aug 2003 15:23:04 GMT
> Von: Berin Loritsch <>
> Consider for a moment the purpose of MBeans.  They are to allow a management
> console to control aspects of your software.  So they were originally created
> to provide an end user a way to control the guts of software.  They were not
> created to provide a direct programmatic interface to the underlying software.
> So if you lookup your components and access them by a direct Java interface,
> then you can easily remote that component, control the inheritance structure,
> and still have the benefit of what JMX was designed for.

I think it depends on how much of your application is moved to the JMX
model. If you use it as a simple add on (which was the initial intend of
JMX, and it looks like you are moving towards that direction) then I would
agree. But the JMX spec also contains the agent specification, and thus
being said manageable aspects of software can (and in my opinion should) be
much more than providing a simple management interface to application

> MBean != interface, and we should never use them as such.  By following that
> mantra, dynamic MBeans becomes a viable tool with few drawbacks.

Well, this is true if you talk about the instrumentation level only. But if
you trust in JMX agents for application management you are moving towards
the MBean == interface analogy. In my opinion JMX offers a lot more than
management, stuff you need to implement anyway: Dynamic Classloading,
Notifications, Monitoring, Relations and Lifecycle of components.

In the end it all boils down to whether a system is JMX enabled or JMX
based. Interestingly most projects I have seen moved to JMX enabled at some
stage, since too much stuff was maintained in parallel. However the
transition from one to the other model is something you should avoid (just
take a look at tomcat 5).


View raw message