Jason Dillon wrote:
On Sep 4, 2006, at 1:39 PM, David Jencks wrote:
IMO this would be a perversion of the geronimo architecture. What
does "fully started" mean anyway? If you start with say
geronimo-jetty-minimal and add cars to turn it into a full j2ee server
while it is running, when exactly is it started? It certainly has
nothing to do with the kernel.
Not to get too pedantic but what if some of the configurations in the persistent configuration
couldn't be started for some reason, is the server still fully started?
Perhaps something more like initialBootstrapCompleted might be more intuitive.
When we thought about this last the best idea we could come up with is
that it's "fully started" when all the modules listed in persistent
configuration lists (should be persistent module lists) that are in
the bootstrap or included recursively in those modules are started.
Think about what happens if a module in the original PCL includes
another PCL.
Started (or fully started) means that the server has loaded, initialized
and started all modules in the persistent configuration, such that it
could then start to serve applications... and start listening on ports,
etc. True there might be more modules to be loaded or configured after
that, but the point is to tell when the server is ready to start
accepting work. There is a period while the server is starting, when it
starts listening to http, but it is not ready to serve applications
which have been configured to be deployed.
Anyways, I don't care too much what it is called... but I think that
flag should be exposed as a simple Boolean on some common MBean. Maybe
its not the Kernel, as the kernel might be started, but the system might
not be ready to serve my webapps or whatever. Having to pull in
geronimo-kernel to perform a simple remote call to fetch a boolean is
overkill... especially since that module has magical logging fluff that
rudely overwrites configuration.
If we had a specialized MBean/GBean that just exposed the very common
remote functionality via JMX directly then we would be in a very good
position to keep tools (IDE plugins, maven plugins, etc) working even
after we change the internals around. Such tools need an easy way to:
* Detect when the server is started and ready to server applications
* Shutdown
Probably some other things too...
--jason