Interface StartupListener

All Known Subinterfaces:
ExtendedStartupListener

public interface StartupListener
Allows objects to be notified when CamelContext has almost done all work when starting.

The state of CamelContext may still be in starting when this callback is invoked, this is by design. The callback is invoked during the routes startup procedure when starting CamelContext.

This can be used to perform any custom work when the entire CamelContext has been initialized and almost started. This callback is invoked twice during starting the Camel routes, once before the route consumers are started, and once again after the route consumer has just been started. This is by design to allow Camel components to react accordingly and for example to register custom startup listeners during starting consumers.

If you want to have only one callback after the route consumers has been fully started then use the ExtendedStartupListener instead.

For example the QuartzComponent leverages this to ensure the Quartz scheduler does not start until after all the Camel routes and services have already been started.

Important: You cannot use this listener to add and start new routes to the CamelContext as this is not supported by design, as this listener plays a role during starting up routes. Instead you can use an EventNotifier and listen on the CamelEvent.CamelContextStartedEvent event and then add and start new routes from there. Instead use the ExtendedStartupListener if you wish to add new routes.

See Also:
  • Method Details

    • onCamelContextStarting

      default void onCamelContextStarting(CamelContext context, boolean alreadyStarted) throws Exception
      Callback invoked when the CamelContext is being started.
      Parameters:
      context - the Camel context
      alreadyStarted - whether or not the CamelContext already has been started. For example the context could already have been started, and then a service is added/started later which still triggers this callback to be invoked.
      Throws:
      Exception - can be thrown in case of errors to fail the startup process and have the application fail on startup.
    • onCamelContextStarted

      void onCamelContextStarted(CamelContext context, boolean alreadyStarted) throws Exception
      Callback invoked when the CamelContext is about to be fully started (not started yet). Yes we are aware of the method name, but we can all have a bad-naming day.
      Parameters:
      context - the Camel context
      alreadyStarted - whether or not the CamelContext already has been started. For example the context could already have been started, and then a service is added/started later which still triggers this callback to be invoked.
      Throws:
      Exception - can be thrown in case of errors to fail the startup process and have the application fail on startup.
    • onCamelContextFullyStarted

      default void onCamelContextFullyStarted(CamelContext context, boolean alreadyStarted) throws Exception
      Callback invoked when the CamelContext has been fully started.
      Parameters:
      context - the Camel context
      alreadyStarted - whether or not the CamelContext already has been started. For example the context could already have been started, and then a service is added/started later which still triggers this callback to be invoked.
      Throws:
      Exception - can be thrown in case of errors to fail the startup process and have the application fail on startup.