As a follow-up to this, we have to think about what belongs in the
"management interface".  To use ActiveMQ as an example, the
ActiveMQContainer interface relies on classes in activemq-core, which
means we couldn't put ActiveMQContainer in an activemq-management package
unless that depended on activemq-core, which would kind of defeat the
purpose of having an activemq-management package.  Now in truth, I don't
think we'll miss the methods of ActiveMQContainer that depend on
activemq-core, so we can put the important stuff in an interface that is
more universal and make ActiveMQContainer extend that.

Aaron

On Sun, 21 Aug 2005, Aaron Mulder wrote:
>       So I'm working on management for ActiveMQ today, and running into
> ClassLoader problems.  The web console can't load the ActiveMQ management
> interfaces, since its parent is o/a/g/System but ActiveMQ is in
> o/a/g/ActiveMQServer.  Now, I could "reparent" it, but I'll soon find out
> that I don't have TranQL connections pools, or something else, without
> constructing a bizarre inheritance chain.
> 
>       I would like all the management interfaces to be available, even
> for products that aren't necessarily running in the current configuration.  
> (Though in truth, that's at least partly an artifact of our totally static
> "portal"  configuration, where we can't dynamically select the portlets to
> show based on what's loaded in the server).
> 
>       I think what that means is that maybe I should start breaking out
> the management code (interfaces and management-only helper classes) into
> product-management modules for (Tomcat, Jetty, OpenEJB, ActiveMQ, TranQL
> db pools), so I can include all the product-management modules in
> o/a/g/Server (and leave the product implementation code where it is now --
> ActiveMQServer, SystemDatabase, whatever).  That way the console will
> still work regardless of what's running.
> 
>       In the super-short term, I'm going to try adding the
> ActiveMQ-GBean module to o/a/g/System, but I'll remove that again as soon
> as we agree on a way to get the management interfaces onto the console
> classpath.
> 
>       Any comments?
> 
> Thanks,
>       Aaron
> 

Reply via email to