public class FatalFallbackErrorHandler extends DelegateAsyncProcessor implements ErrorHandler
ErrorHandler
used as a safe fallback when
processing by other error handlers such as the OnExceptionDefinition
.
This error handler is used as a fail-safe to ensure that error handling does not run in endless recursive looping
which potentially can happen if a new exception is thrown while error handling a previous exception which then
cause new error handling to process and this then keep on failing with new exceptions in an endless loop.processor
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
FatalFallbackErrorHandler(Processor processor) |
FatalFallbackErrorHandler(Processor processor,
boolean isDeadLetterChannel) |
Modifier and Type | Method and Description |
---|---|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
String |
toString() |
doShutdown, doStart, doStop, getProcessor, hasNext, next, process, processNext, setProcessor, setProcessor
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public FatalFallbackErrorHandler(Processor processor)
public FatalFallbackErrorHandler(Processor processor, boolean isDeadLetterChannel)
public boolean process(Exchange exchange, AsyncCallback callback)
AsyncProcessor
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
.process
in interface AsyncProcessor
process
in class DelegateAsyncProcessor
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.public String toString()
toString
in class DelegateAsyncProcessor
Apache Camel