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
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.
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>