Package org.apache.camel.processor
Class CatchProcessor
java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.AsyncProcessorSupport
org.apache.camel.support.processor.DelegateAsyncProcessor
org.apache.camel.processor.CatchProcessor
- All Implemented Interfaces:
AutoCloseable
,org.apache.camel.AsyncProcessor
,org.apache.camel.DelegateProcessor
,org.apache.camel.Navigate<org.apache.camel.Processor>
,org.apache.camel.Processor
,org.apache.camel.Service
,org.apache.camel.ShutdownableService
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
,org.apache.camel.spi.RouteIdAware
,org.apache.camel.StatefulService
,org.apache.camel.SuspendableService
,org.apache.camel.Traceable
public class CatchProcessor
extends org.apache.camel.support.processor.DelegateAsyncProcessor
implements org.apache.camel.Traceable, org.apache.camel.spi.IdAware, org.apache.camel.spi.RouteIdAware
A processor which catches exceptions.
-
Field Summary
Fields inherited from class org.apache.camel.support.processor.DelegateAsyncProcessor
processor
Fields inherited from class org.apache.camel.support.service.BaseService
BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
-
Constructor Summary
ConstructorDescriptionCatchProcessor
(org.apache.camel.CamelContext camelContext, List<Class<? extends Throwable>> exceptions, org.apache.camel.Processor processor, org.apache.camel.Predicate onWhen) -
Method Summary
Modifier and TypeMethodDescriptionprotected Throwable
Returns with the exception that is caught by this processor.protected void
doInit()
long
Gets the total number of Exchanges that was caught (also matched the onWhen predicate).long
getCaughtCount
(String className) Gets the number of Exchanges that was caught by the given exception class name (also matched the onWhen predicate).Set of the caught exception fully qualified class namesgetId()
protected boolean
matchesWhen
(org.apache.camel.Exchange exchange) Strategy method for matching the exception type with the current exchange.boolean
process
(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) void
reset()
Reset counters.void
void
setRouteId
(String routeId) toString()
Methods inherited from class org.apache.camel.support.processor.DelegateAsyncProcessor
doBuild, doShutdown, doStart, doStop, getProcessor, hasNext, next, setProcessor, setProcessor
Methods inherited from class org.apache.camel.support.AsyncProcessorSupport
process, processAsync
Methods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.camel.spi.IdAware
setGeneratedId
Methods inherited from interface org.apache.camel.Processor
process
Methods inherited from interface org.apache.camel.Service
build, close, init, start, stop
Methods inherited from interface org.apache.camel.ShutdownableService
shutdown
Methods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
CatchProcessor
-
-
Method Details
-
doInit
- Overrides:
doInit
in classorg.apache.camel.support.processor.DelegateAsyncProcessor
- Throws:
Exception
-
toString
- Overrides:
toString
in classorg.apache.camel.support.processor.DelegateAsyncProcessor
-
getId
- Specified by:
getId
in interfaceorg.apache.camel.spi.HasId
-
setId
- Specified by:
setId
in interfaceorg.apache.camel.spi.IdAware
-
getRouteId
- Specified by:
getRouteId
in interfaceorg.apache.camel.spi.RouteIdAware
-
setRouteId
- Specified by:
setRouteId
in interfaceorg.apache.camel.spi.RouteIdAware
-
getTraceLabel
- Specified by:
getTraceLabel
in interfaceorg.apache.camel.Traceable
-
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) - Specified by:
process
in interfaceorg.apache.camel.AsyncProcessor
- Overrides:
process
in classorg.apache.camel.support.processor.DelegateAsyncProcessor
-
catches
Returns with the exception that is caught by this processor. This method traverses exception causes, so sometimes the exception returned from this method might be one of causes of the parameter passed.- Parameters:
exchange
- the current exchangeexception
- the thrown exception- Returns:
- Throwable that this processor catches. null if nothing matches.
-
getCaughtCount
public long getCaughtCount()Gets the total number of Exchanges that was caught (also matched the onWhen predicate). -
getCaughtCount
Gets the number of Exchanges that was caught by the given exception class name (also matched the onWhen predicate). This requires to have extended statistics enabled on management statistics level. -
reset
public void reset()Reset counters. -
getCaughtExceptionClassNames
Set of the caught exception fully qualified class names -
matchesWhen
protected boolean matchesWhen(org.apache.camel.Exchange exchange) Strategy method for matching the exception type with the current exchange. This default implementation will match as:- Always true if no when predicate on the exception type
- Otherwise the when predicate is matches against the current exchange
- Parameters:
exchange
- the currentExchange
- Returns:
- true if matched, false otherwise.
-