public interface AsyncProcessor extends Processor
Exchange
in an asynchronous fashion
and signal completion by invoking the AsyncCallback
.
Any processor can be coerced to have an AsyncProcessor
interface by using the
AsyncProcessorTypeConverter.covert
method.
Important: Use the AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)
method to invoke the process method, which ensure Camel have a chance to interweave and invoke it in a reliable manner.
For example when using transactions all the invocations has to occur in synchronous manner to ensure the transaction
work is done in the same thread, which is required by Spring TransactionManager.Modifier and Type | Method and Description |
---|---|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
boolean process(Exchange exchange, AsyncCallback callback)
Processor.process(org.apache.camel.Exchange)
, but the caller supports having the exchange asynchronously processed.
If there was a failure processing then the caused Exception
would be set on the Exchange
.exchange
- the message exchangecallback
- the AsyncCallback
will be invoked when the processing of the exchange is completed.
If the exchange is completed synchronously, then the callback is also invoked synchronously.
The callback should therefore be careful of starting recursive loop.AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)
Apache Camel