They're the most flexible. Quick overview of the life cycle in OSGi: installed -> resolved -> (starting) -> active -> (stopping) resolved -> uninstalled
Installed is the initial state. Resolved is when all its dependencies have been fulfilled. During the starting state, if there is an error, then it goes back to resolved. Active for while it's, well, active. Stopping puts the thing back into resolved. Then, if you go from resolved to uninstalled, this means that it's no longer available for use (and the only reason you'd find something in this state for very long is due to a memory leak). Any objections? This would make our LifeCycle interface more compatible with OSGi while providing a well-understood standard for the life cycle of plugin-type objects. -- Matt Sicker <[email protected]>
