Class BaseService

java.lang.Object
org.apache.camel.support.service.BaseService
Direct Known Subclasses:
ServiceSupport

public abstract class BaseService extends Object
A useful base class which ensures that a service is only initialized once and provides some helper methods for enquiring of its status.

Implementations can extend this base class and implement SuspendableService in case they support suspend/resume.

Important: You should override the lifecycle methods that start with do, eg doStart()}, doStop(), etc. where you implement your logic. The methods start(), stop() should NOT be overridden as they are used internally to keep track of the state of this service and properly invoke the operation in a safe manner.

  • Field Details

  • Constructor Details

    • BaseService

      public BaseService()
  • Method Details

    • build

      public void build()
    • init

      public void init()
    • start

      public void start()
      Important: You should override the lifecycle methods that start with do, eg doStart(), doStop(), etc. where you implement your logic. The methods start(), stop() should NOT be overridden as they are used internally to keep track of the state of this service and properly invoke the operation in a safe manner.
    • stop

      public void stop()
      Important: You should override the lifecycle methods that start with do, eg doStart(), doStop(), etc. where you implement your logic. The methods start(), stop() should NOT be overridden as they are used internally to keep track of the state of this service and properly invoke the operation in a safe manner.
    • suspend

      public void suspend()
      Important: You should override the lifecycle methods that start with do, eg doStart(), doStop(), etc. where you implement your logic. The methods start(), stop() should NOT be overridden as they are used internally to keep track of the state of this service and properly invoke the operation in a safe manner.
    • resume

      public void resume()
      Important: You should override the lifecycle methods that start with do, eg doStart(), doStop(), etc. where you implement your logic. The methods start(), stop() should NOT be overridden as they are used internally to keep track of the state of this service and properly invoke the operation in a safe manner.
    • shutdown

      public void shutdown()
      Important: You should override the lifecycle methods that start with do, eg doStart(), doStop(), etc. where you implement your logic. The methods start(), stop() should NOT be overridden as they are used internally to keep track of the state of this service and properly invoke the operation in a safe manner.
    • getStatus

      public ServiceStatus getStatus()
    • isNew

      public boolean isNew()
    • isBuild

      public boolean isBuild()
    • isInit

      public boolean isInit()
    • isStarted

      public boolean isStarted()
    • isStarting

      public boolean isStarting()
    • isStopping

      public boolean isStopping()
    • isStopped

      public boolean isStopped()
    • isSuspending

      public boolean isSuspending()
    • isSuspended

      public boolean isSuspended()
    • isRunAllowed

      public boolean isRunAllowed()
    • isShutdown

      public boolean isShutdown()
    • isStoppingOrStopped

      public boolean isStoppingOrStopped()
      Is the service in progress of being stopped or already stopped
    • isSuspendingOrSuspended

      public boolean isSuspendingOrSuspended()
      Is the service in progress of being suspended or already suspended
    • isStartingOrStarted

      public boolean isStartingOrStarted()
      Is the service in progress of being suspended or already suspended
    • fail

      protected void fail(Exception e)
    • doBuild

      protected void doBuild() throws Exception
      Optional build phase of the service. This method will only be called by frameworks which supports pre-building projects such as camel-quarkus.
      Throws:
      Exception
    • doInit

      protected void doInit() throws Exception
      Initialize the service. This method will only be called once before starting.
      Throws:
      Exception
    • doStart

      protected void doStart() throws Exception
      Implementations override this method to support customized start/stop.

      Important: See doStop() for more details.

      Throws:
      Exception
      See Also:
    • doStop

      protected void doStop() throws Exception
      Implementations override this method to support customized start/stop.

      Important: Camel will invoke this doStop() method when the service is being stopped. This method will also be invoked if the service is still in uninitialized state (eg has not been started). The method is always called to allow the service to do custom logic when the service is being stopped, such as when CamelContext is shutting down.

      Throws:
      Exception
      See Also:
    • doSuspend

      protected void doSuspend() throws Exception
      Implementations override this method to support customized suspend/resume.
      Throws:
      Exception
    • doResume

      protected void doResume() throws Exception
      Implementations override this method to support customized suspend/resume.
      Throws:
      Exception
    • doShutdown

      protected void doShutdown() throws Exception
      Implementations override this method to perform customized shutdown.
      Throws:
      Exception
    • doFail

      protected void doFail(Exception e)
      Implementations override this method to perform any action upon failure.
    • doLifecycleChange

      protected AutoCloseable doLifecycleChange()
      Implementations may return an object that will be closed when the lifecycle action is completed.