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 Detail

      • 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