org.apache.camel.spi
Interface InterceptStrategy
- All Known Implementing Classes:
- Debug, Delayer, HandleFault, InstrumentationInterceptStrategy, StreamCaching, Tracer
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 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.
- Version:
wrapProcessorInInterceptors
Processor wrapProcessorInInterceptors(CamelContext context,
ProcessorDefinition<?> definition,
Processor target,
Processor nextTarget)
throws Exception
- This method is invoked by
ProcessorDefinition.wrapProcessor(RouteContext, Processor)
to give the 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 contextdefinition
- the model this interceptor representstarget
- the processor to be wrappednextTarget
- the next processor to be routed to
- Returns:
- processor wrapped with an interceptor or not wrapped.
- Throws:
Exception
- can be thrown
Apache CAMEL