org.apache.camel.processor
Class LoopProcessor
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.processor.DelegateAsyncProcessor
org.apache.camel.processor.LoopProcessor
- All Implemented Interfaces:
- AsyncProcessor, DelegateProcessor, Navigate<Processor>, Processor, Service, ShutdownableService, StatefulService, SuspendableService, Traceable
public class LoopProcessor
- extends DelegateAsyncProcessor
- implements Traceable
The processor which sends messages in a loop.
Methods inherited from class org.apache.camel.support.ServiceSupport |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, shutdown, start, stop, suspend |
LoopProcessor
public LoopProcessor(Processor processor,
Expression expression,
boolean copy)
process
public boolean process(Exchange exchange,
AsyncCallback callback)
- Description copied from interface:
AsyncProcessor
- Processes the message exchange.
Similar to
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
.
- Specified by:
process
in interface AsyncProcessor
- Overrides:
process
in class DelegateAsyncProcessor
- Parameters:
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.
- Returns:
- (doneSync) true to continue execute synchronously, false to continue being executed asynchronously
- See Also:
AsyncProcessorHelper.process(AsyncProcessor, Exchange, AsyncCallback)
process
protected boolean process(Exchange exchange,
AsyncCallback callback,
AtomicInteger index,
AtomicInteger count)
prepareExchange
protected Exchange prepareExchange(Exchange exchange,
int index)
- Prepares the exchange for the next iteration
- Parameters:
exchange
- the exchangeindex
- the index of the next iteration
- Returns:
- the exchange to use
getExpression
public Expression getExpression()
getTraceLabel
public String getTraceLabel()
- Description copied from interface:
Traceable
- Gets the trace label used for logging when tracing is enabled.
The label should be short and precise.
- Specified by:
getTraceLabel
in interface Traceable
- Returns:
- the label
toString
public String toString()
- Overrides:
toString
in class DelegateAsyncProcessor
Apache CAMEL