public class CatchProcessor extends DelegateAsyncProcessor implements Traceable, IdAware
processor
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
CatchProcessor(List<Class<? extends Throwable>> exceptions,
Processor processor,
Predicate onWhen,
Predicate handled) |
Modifier and Type | Method and Description |
---|---|
protected Throwable |
catches(Exchange exchange,
Throwable exception)
Returns with the exception that is caught by this processor.
|
List<Class<? extends Throwable>> |
getExceptions() |
String |
getId()
Returns the id
|
String |
getTraceLabel()
Gets the trace label used for logging when tracing is enabled.
|
protected boolean |
handles(Exchange exchange)
Whether this catch processor handles the exception it have caught
|
protected boolean |
matchesWhen(Exchange exchange)
Strategy method for matching the exception type with the current exchange.
|
boolean |
process(Exchange exchange,
AsyncCallback callback)
Processes the message exchange.
|
void |
setId(String id)
Sets the id
|
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 String toString()
toString
in class DelegateAsyncProcessor
public String getTraceLabel()
Traceable
getTraceLabel
in interface Traceable
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.protected Throwable catches(Exchange exchange, Throwable exception)
exchange
- the current exchangeexception
- the thrown exceptionprotected boolean handles(Exchange exchange)
exchange
- the current exchangepublic List<Class<? extends Throwable>> getExceptions()
protected boolean matchesWhen(Exchange exchange)
exchange
- the current Exchange
Apache Camel