geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "gianny DAMOUR" <gianny_dam...@hotmail.com>
Subject RE: [Deployment] IM #2 Summary for Directory Issue
Date Sat, 04 Oct 2003 08:53:44 GMT
From: "Jeremy Boynes" <jeremy@coredevelopers.net>
Date: Sat, 4 Oct 2003 00:50:19 -0700

>MBean persistence is used to store the configuration of each MBean (the
>values of persistent attributes). This is used to reload the MBeans on
>restart. The JSR77 state is not a persistent attribute, so all MBeans
>come back in the STOPPED state.
I see. So the "Persistence Service" snapshots the persistent attribute of an 
MBean. And the "Service Controler" snapshots the transient attributes, which 
are specific to the MBean state?

What I had in mind was to add a persistent attribute to 
AbstractManagedObject abstracting the target state to reach when the server 
is restarted. This persistent attribute mirrors the transient state 
attribute and is persisted based on the installed persistence policy (which 
could be checkpoint, on attribute change et cetera). The mirroring of the 
transient state and the target state is broken when a request to shutdown 
the server is received.

When a ManagedObject is restored, one uses this target state to trigger the 
relevant operation. One drawback I see in defining two services is that we 
will end up with two locations to be merged when the server is re-started. 
Moreover, it allows to share the persistence policy between these two 
services.

>Given child objects can be stopped, I doubt startRecursive is the way to
>go - instead, the controller will need to start each one individually
>(and in the correct order).
startRecursive is not the way to go to restore the identical state. However 
it will be the more simple to implement.

Indeed, as you have underlined the controller will need to start in the 
right order the services. To start in the right order these services, this 
controller will need to re-implement a significant part of the 
DependencyService. I agree that the canStart method is a good template to 
implement such a feature. This is an academic exercice and also quite time 
consuming.

Gianny

_________________________________________________________________
Découvrez les nouvelles émoticônes animées de  http://g.msn.fr/FR1001/866 
MSN Messenger nouvelle formule


Mime
View raw message