Class 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.

    • Constructor Detail

      • BaseService

        public BaseService()
    • Method Detail

      • 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.
      • 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()
      • 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:
        doStart()
      • 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.