Interface RoutePolicy


  • public interface RoutePolicy
    Policy for a Route which allows controlling the route at runtime.

    For example using the org.apache.camel.throttling.ThrottlingInflightRoutePolicy to throttle the Route at runtime where it suspends and resume the Route.getConsumer().

    See also Route class javadoc about controlling the lifecycle of a Route.

    See Also:
    Route
    • Method Detail

      • onInit

        void onInit​(Route route)
        Callback invoked when the Route is being initialized
        Parameters:
        route - the route being initialized
      • onRemove

        void onRemove​(Route route)
        Callback invoked when the Route is being removed from CamelContext
        Parameters:
        route - the route being removed
      • onStart

        void onStart​(Route route)
        Callback invoked when the Route is being started
        Parameters:
        route - the route being started
      • onStop

        void onStop​(Route route)
        Callback invoked when the Route is being stopped
        Parameters:
        route - the route being stopped
      • onSuspend

        void onSuspend​(Route route)
        Callback invoked when the Route is being suspended
        Parameters:
        route - the route being suspended
      • onResume

        void onResume​(Route route)
        Callback invoked when the Route is being resumed
        Parameters:
        route - the route being resumed
      • onExchangeBegin

        void onExchangeBegin​(Route route,
                             Exchange exchange)
        Callback invoked when an Exchange is started being routed on the given Route
        Parameters:
        route - the route where the exchange started from
        exchange - the created exchange
      • onExchangeDone

        void onExchangeDone​(Route route,
                            Exchange exchange)
        Callback invoked when an Exchange is done being routed, where it started from the given Route

        Notice this callback is invoked when the Exchange is done and the Route is the route where the Exchange was started. Most often its also the route where the exchange is done. However its possible to route an Exchange to other routes using endpoints such as direct or seda. Bottom line is that the Route parameter may not be the endpoint route and thus why we state its the starting route.

        Parameters:
        route - the route where the exchange started from
        exchange - the created exchange