On Monday, Aug 11, 2003, at 16:21 Europe/London, Berin Loritsch wrote:
Alex Blewitt wrote:
I really like this idea. Berin seems to think that it's eminantly doable, Jason sounds like he needs to be convinced.I'll be honest about my ignorance of JMX as a whole. I know some rudimentary
If this is already provided as part of Avalon, or Avalon-esque systems, then perhaps this is worth investigating in more detail? Could Berin provide this?
It might not be doable using the current JMX interceptor stack, but if it can be done using another mechanism (and demonstrably so) then perhaps that's a good reason to look at using a different mechanism.
support for it has been added to the Avalon Phoenix container code, but I
would like a better idea on how it is desired to be used in the Geronimo/
whatever we want to call this project codebase.
I'm not sure that you /would/ achieve this using JMX. Instead, the lazy-loader approach as per the Pheonix (or Merlin) kernels would probably be more demonstrative of the ideas.
In Phoenix, JMX is relegated to providing an exposed interface to Avalon
components that are meant to be managed externally. It isn't used by the
kernel to create and tear down component instances.
There has been ongoing discussions in this mailing list as to whether or not JMX should be used to do this anyway. Current feeling seems to indicate that (a) At present, the initial code base uses JMX to do everything, but (b) It may be replaced at a later stage if someone else presents itself, but only with good reason.
IMO a management interface like JMX/SNMP should only be used for an administrator's console to customize or manage aspects of the running system. That fits in with the Phoenix approach.
I concur completely, as do some others on this list. An example of how we can use this to set up services without having to use JMX would therefore be of considerable interest.
That means that the Avalon components can already be loaded on demand--without
any additional coding necessary--once the component is initialized, the JMX
MBean can be created and published.
Indeed, this is the way that JMX should be used, as a management interface -- not as a kernel implementation.
My GUI app framework at D-Haven.org uses Avalon Fortress, which employs
asynchronous component management--no extra code necessary. I also have
a distributed print server on my harddrive that can take advantage of it,
but it is all about what makes sense for this project.
I'd like to find out more about what you've done, if we can take this discussion out of the group, and then perhaps present a way of how we might use these kind of ideas to provide a micro-kernel architecture for the system.
Alex.