org.apache.camel.processor
Class DelegateAsyncProcessor
java.lang.Object
org.apache.camel.impl.ServiceSupport
org.apache.camel.processor.DelegateAsyncProcessor
- All Implemented Interfaces:
- AsyncProcessor, Navigate<Processor>, Processor, Service, ShutdownableService
- Direct Known Subclasses:
- CatchProcessor, DelayProcessorSupport, FilterProcessor, HandleFaultInterceptor, InstrumentationProcessor, InterceptEndpointProcessor, LoopProcessor, RoutePolicyProcessor, SamplingThrottler, StreamCachingInterceptor, TraceInterceptor, UnitOfWorkProcessor, WrapProcessor
public class DelegateAsyncProcessor
- extends ServiceSupport
- implements AsyncProcessor, Navigate<Processor>
A Delegate pattern which delegates processing to a nested AsyncProcessor which can
be useful for implementation inheritance when writing an Policy
Important: This implementation does support the asynchronous routing engine.
If you are implementing a EIP pattern please use this as the delegate.
- Version:
- See Also:
DelegateProcessor
| Methods inherited from class org.apache.camel.impl.ServiceSupport |
addChildService, doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, removeChildService, resume, shutdown, start, start, stop, suspend |
processor
protected AsyncProcessor processor
DelegateAsyncProcessor
public DelegateAsyncProcessor()
DelegateAsyncProcessor
public DelegateAsyncProcessor(AsyncProcessor processor)
DelegateAsyncProcessor
public DelegateAsyncProcessor(Processor processor)
toString
public String toString()
- Overrides:
toString in class Object
getProcessor
public AsyncProcessor getProcessor()
setProcessor
public void setProcessor(AsyncProcessor processor)
setProcessor
public void setProcessor(Processor processor)
doStart
protected void doStart()
throws Exception
- Specified by:
doStart in class ServiceSupport
- Throws:
Exception
doStop
protected void doStop()
throws Exception
- Specified by:
doStop in class ServiceSupport
- Throws:
Exception
process
public void process(Exchange exchange)
throws Exception
- Description copied from interface:
Processor
- Processes the message exchange
- Specified by:
process in interface Processor
- Parameters:
exchange - the message exchange
- Throws:
Exception - if an internal processing error has occurred.
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
- 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)
processNext
protected boolean processNext(Exchange exchange,
AsyncCallback callback)
hasNext
public boolean hasNext()
- Description copied from interface:
Navigate
- Are there more outputs?
- Specified by:
hasNext in interface Navigate<Processor>
- Returns:
- true if more outputs
next
public List<Processor> next()
- Description copied from interface:
Navigate
- Next group of outputs
- Specified by:
next in interface Navigate<Processor>
- Returns:
- next group or null if no more outputs
Apache CAMEL