I think that an abstract superclass for representing components in the
JSR77 lifecycle would be a Good Thing. Is there an abstract class in
org.apache.geronimo.common that provides this, or is this something
that someone is volunteering to create?
(Other than me, that is :-)
Alex.
On Tuesday, Aug 12, 2003, at 23:00 Europe/London, Dain Sundstrom wrote:
+1
I was unaware of the 77 lifecycle model (I would have used it
otherwise).
Actually, it there a 77 lifecycle interface or just a MBean naming
definition. If there is an actual interface we should just use that
instead.
I say just do it,
-dain
On Tuesday, August 12, 2003, at 07:43 AM, Greg Wilkins wrote:
At the very least, it would be good to match our component lifecycle
to
Jsr77, which is
STOPPED --start()--> STARTING --> RUNNING --stop()--> STOPPING -->
STOPPED
plus a FAILED state and a few other transitions.
Geronimo currently has:
NOT_CREATED --create--> STOPPED
--start()-->STARTED--stop()-->STOPPED--destroy()-->DESTROYED
Not that far apart really (well how far apart can such things be :-)
I think it would be good to:
+ rename STARTED to RUNNING
+ Add the STARTING and STOPPING states, because these operations are
definitely not atomic and it would be good to recognise that.
+ AbstractComponent would set STARTING state, call a doStart() method
and then set RUNNING state (if no exception is thrown)
+ Consider if we really need NOT_CREATED and DESTROYED states?
Maybe even
+ Use the numeric state values defined in the spec as part of
the State class, so that fast state switches can be done.
+ define startRecursive and stopRecursive
I think we should do this rather sooner rather than later - before
there
is too much more code to refactor. We can consider how much other
of JSR77 we support in the generic G component later.
I'm happy to do this refactor unless somebody else wants it.
cheers
/*************************
* Dain Sundstrom
* Partner
* Core Developers Network
*************************/