Interface LifecycleContext

All Superinterfaces:
Executor
All Known Subinterfaces:
StartContext, StopContext

public interface LifecycleContext extends Executor
A context object for lifecycle events.
Author:
David M. Lloyd, Richard Opalka
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Call within the service lifecycle method to trigger an asynchronous lifecycle action.
    void
    Call when either synchronous or asynchronous lifecycle action is complete.
    void
    execute(Runnable command)
    Execute a task asynchronously using the MSC task executor.
    Get the associated service controller.
    long
    Get the amount of time elapsed since the start or stop was initiated, in nanoseconds.
  • Method Details

    • asynchronous

      void asynchronous() throws IllegalStateException
      Call within the service lifecycle method to trigger an asynchronous lifecycle action. This action will not be considered complete until indicated so by calling a complete() method on this interface.
      Throws:
      IllegalStateException - if called twice in a row
    • complete

      void complete() throws IllegalStateException
      Call when either synchronous or asynchronous lifecycle action is complete.
      Throws:
      IllegalStateException - if called twice in a row
    • getElapsedTime

      long getElapsedTime()
      Get the amount of time elapsed since the start or stop was initiated, in nanoseconds.
      Returns:
      the elapsed time
    • getController

      ServiceController<?> getController()
      Get the associated service controller.
      Returns:
      the service controller
    • execute

      void execute(Runnable command)
      Execute a task asynchronously using the MSC task executor.

      Note: This method should not be used for executing tasks that may block, particularly from within a service's Service.start(StartContext) or Service.stop(StopContext) methods. See the Service class javadoc for further details.

      Specified by:
      execute in interface Executor
      Parameters:
      command - the command to execute
      Throws:
      IllegalStateException - if this method is called outside of service lifecycle methods.