public interface Policy
AsyncProcessor
as the returned wrapped
Processor
which ensures the policy works well with the asynchronous routing engine.
You can use the org.apache.camel.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.
Mind that not all frameworks supports asynchronous routing, for example some transaction managers, such as
Spring Transaction uses the current thread to store state of the transaction, and thus can't transfer this
state to other threads when routing continues asynchronously.Modifier and Type | Method and Description |
---|---|
void |
beforeWrap(Route route,
NamedNode definition)
Hook invoked before the wrap.
|
Processor |
wrap(Route route,
Processor processor)
Wraps any applicable interceptors around the given processor.
|
Apache Camel