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:
  • Method Details

    • 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