geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Wilkins <gr...@mortbay.com>
Subject Re: [deployment][jsr77] Dependency code in AbstractStateManageable.
Date Thu, 21 Aug 2003 06:28:38 GMT



Dain Sundstrom wrote:
> On Thursday, August 21, 2003, at 12:15 AM, Greg Wilkins wrote:
> 
>> -1+1  Can you leave the code dealing with the state machine in
>> AbstractStateManageable.  ie the setStateInstance check of the
>> lifecycle and the doStart and doStop abstraction to separate tasks
>> for this object from any coordinated start processing.
> 
> 
> Sure, but why do you need AbstractStateManageable specifically?

I actually have nothing specific at the moment in mind - but others
have asked for it - which is why it was factored out of component in
the first place.

The main reasons I want that layer is mainly for design clarity.
We are separating out an implementation of the JSR77 state machine
which is pretty generic - from our own managed object implementation
that is very geronimo/jmx/specific.

I think the code expresses the design a lot better when you can see
that ManagedObject and ManagedContainer are adding the intergration
with the dependency service to a state managed object.

We will be able to mess about with out components and container
code without accidentally changing the state model as enforced by
AbstractStateManageable.

cheers


>>> Drink a half dozen pints.
>>
>>
>> +1 (so long as it is in the order above).
> 
> 
> I already drank a bottle of wine so I'm done....
> 
>> I also think you should make an ManagedContainer interface and
>> an AbstractManagedContainer class that would have all the
>> dependency service code in it.  ie it would extend addComponent so
>> that a dependency is added to the dependency service when it is called.
> 
> 
> Well I did half of this.  I added the rest of the types defined in 77 to 
> the management package and added an AbstractStateMangeable which 
> implements ManagedObject, StateManageable, and EventProvider (but not 
> StatisticsProvider yet).  I haven't touched the rest of the stuff in 
> common yet, but I can when I wake up (unless you get to it first).
> 
>> Actually... with that, I'd probably shut up on this issue as the
>> dependency mechanism integration into Component and Container would be
>> a lot more obvious - namely that the AbstractManagedContainer is really
>> just a conveniance class for configuring the dependency service.
> 
> 
> Okay... I glad we came to a good compromise.
> 
> -dain
> 
> 




Mime
View raw message