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 *************************/




Reply via email to