Public Member Functions | |
void | initialize (ContainerServices containerServices) throws ComponentLifecycleException |
void | execute () throws ComponentLifecycleException |
void | cleanUp () throws AcsJComponentCleanUpEx |
void | aboutToAbort () |
Interface that every component has to implement.
The methods are used by the container to start and stop the component, that is, to manage its lifecycle.
Note that the constructor of the component implementation should be very small, preferably empty. Use the methods initialize(ContainerServices) and execute() instead.
TODOs:
void alma.acs.component.ComponentLifecycle.aboutToAbort | ( | ) |
Called when due to some error condition the component is about to be forcefully removed some unknown amount of time later (usually not very much...).
The component should make an effort to die as neatly as possible.
Because of its urgency, this method will be called asynchronously to the execution of any other method of the component.
Referenced by alma.acs.container.ComponentAdapter.getComponentAbortionist().
void alma.acs.component.ComponentLifecycle.cleanUp | ( | ) | throws AcsJComponentCleanUpEx |
Called after the last functional call to the component has finished. The component should then orderly release resources etc.
Referenced by alma.acs.container.ComponentAdapter.deactivateComponent().
void alma.acs.component.ComponentLifecycle.execute | ( | ) | throws ComponentLifecycleException |
Called after ComponentLifecycle#initialize(ContainerServices) to tell the component that it has to be ready to accept incoming functional calls any time.
Examples:
initialize
seemed too early Must be implemented as a synchronous (blocking) call (can spawn threads though).
Referenced by alma.acs.container.ComponentAdapter.executeComponent().
void alma.acs.component.ComponentLifecycle.initialize | ( | ContainerServices | containerServices | ) | throws ComponentLifecycleException |
Called to give the component time to initialize itself. For instance, the component could retrieve connections, read in configuration files/parameters, build up in-memory tables, ...
Called before execute(). In fact, this method might be called quite some time before functional requests can be sent to the component.
Must be implemented as a synchronous (blocking) call.
containerServices | callback object for services provided by the container |
Referenced by alma.acs.container.ComponentAdapter.initializeComponent().