public class DelegateSyncProcessor extends ServiceSupport implements DelegateProcessor, AsyncProcessor, Navigate<Processor>
Processor which can
be useful for implementation inheritance when writing an Policy
Important: This implementation does support the asynchronous routing engine, only.
if the logic in the process(org.apache.camel.Exchange) does not invoke EIPs; as it forces using
synchronous processing during the process(org.apache.camel.Exchange) method call.
If you are implementing a EIP pattern please use this as the delegate, for simple EIPs.DelegateAsyncProcessor,
DelegateProcessor| Modifier and Type | Field and Description |
|---|---|
protected Processor |
processor |
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending| Constructor and Description |
|---|
DelegateSyncProcessor(Processor processor) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
Processor |
getProcessor()
Gets the delegated
Processor. |
boolean |
hasNext()
Are there more outputs?
Important only invoke this once, as this method do not carry state, and is not intended to be used in a while loop,
but used by a if statement instead.
|
List<Processor> |
next()
Next group of outputs
Important only invoke this once, as this method do not carry state, and is not intended to be used in a while loop,
but used by a if statement instead.
|
void |
process(Exchange exchange)
Processes the message exchange
|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
String |
toString() |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendprotected Processor processor
public DelegateSyncProcessor(Processor processor)
public Processor getProcessor()
DelegateProcessorProcessor.getProcessor in interface DelegateProcessorpublic boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessorProcessor.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.process in interface AsyncProcessorexchange - 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.public void process(Exchange exchange) throws Exception
Processorpublic boolean hasNext()
Navigatepublic List<Processor> next()
Navigateprotected void doStart()
throws Exception
ServiceSupportServiceSupport.doStop() for more details.doStart in class ServiceSupportExceptionServiceSupport.doStop()protected void doStop()
throws Exception
ServiceSupportServiceSupport.doStop() method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext is shutting down.doStop in class ServiceSupportExceptionServiceSupport.doStart()Apache Camel