package ee.telekom.workflow.executor.lifecycle; /** * The engines central life cycle manager that implements a start-up and shut-down order * for the different engine's components (considering the interdependencies). */ public interface LifecycleService{ /** * Called at deployment. Starts the engine's components if required and possible. */ void startUp(); /** * Called at undeployment. Stops the engine's components if required. */ void shutDown(); /** * Called regularly to * - leave a heart beat and mark dead cluster siblings as FAILED. * - heal workflow instance's if there is a FAILED node. * - test whether the engine's is still master or not anymore and to start/stop components accordingly if required. */ void checkNodeStatus(); /** * Returns whether the engine is started. */ boolean isStarted(); }