Interface InterceptStrategy


public interface InterceptStrategy
The purpose of this interface is to allow an implementation to wrap processors in a route with interceptors. For example, a possible usecase is to gather performance statistics at the processor's level.

Its strongly adviced to use an AsyncProcessor as the returned wrapped Processor which ensures the interceptor works well with the asynchronous routing engine. You can use the org.apache.camel.support.processor.DelegateAsyncProcessor to easily return an AsyncProcessor and override the AsyncProcessor.process(org.apache.camel.Exchange, org.apache.camel.AsyncCallback) to implement your interceptor logic. And just invoke the super method to continue routing.

  • Method Details

    • wrapProcessorInInterceptors

      Processor wrapProcessorInInterceptors(CamelContext context, NamedNode definition, Processor target, Processor nextTarget) throws Exception
      Give implementor an opportunity to wrap the target processor in a route.

      Important: See the class javadoc for advice on letting interceptor be compatible with the asynchronous routing engine.

      Parameters:
      context - Camel context
      definition - the model this interceptor represents
      target - the processor to be wrapped
      nextTarget - the next processor to be routed to
      Returns:
      processor wrapped with an interceptor or not wrapped.
      Throws:
      Exception - can be thrown