avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen McConnell <mcconn...@osm.net>
Subject Re: [A5] Activity Package
Date Sat, 15 Jun 2002 21:16:41 GMT


Berin Loritsch wrote:
> This houses the Initializable, Startable, and Resumable interfaces.
> 
> I'm pretty happy with it, but we should consider a couple of points:
> 
> 1) are Initializable and Disposable separate concerns?  If so we should
>    split the interface.  If not, then we will leave it alone

I don't think there is a justification for change for the pattern from 
4.1 (i.e. Initializable and Disposable are seperate interfaces) - i.e. 
we should return A5 proposal on this point back to A4.

> 2) We have determined that start() and stop() apply to the same concern
>    of an active component.  We should explicitly state that the
> Startable
>    interface is designed to let an active component know when they can
>    start background execution threads and when to stop them safely.
>    We should also state as a contract that stop()ing a component
>    MUST NOT FAIL!  This preculdes the necessity of an exception at this
>    point.  It also makes it the responsibility of the component to clean
>    up any expensive resources like threads and sockets successfully.
>    - The container has no way of nowing what system resources a
> component
>      takes if they are not retrieved from other components.

I'm not sure I'm following the MUST NOT FAIL comment.  The current 4.1 
interface can throw an exception which means that it can fail.  I think 
what your getting at is that an exception is thrown at that point its 
really a delema for a container - and as such - appropriate wording in 
the documentation should make is clear to the component developer what 
the implications of throwing an exception.

Cheers, Steve.

-- 

Stephen J. McConnell

OSM SARL
digital products for a global economy
mailto:mcconnell@osm.net
http://www.osm.net


--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message