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.InterceptableProcessor,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, org.apache.camel.spi.InterceptableProcessor
A processor which catches exceptions.
-
Field Summary
Fields inherited from class org.apache.camel.support.processor.DelegateAsyncProcessor
processorFields 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
ConstructorsConstructorDescriptionCatchProcessor(org.apache.camel.CamelContext camelContext, List<Class<? extends Throwable>> exceptions, org.apache.camel.Processor processor, org.apache.camel.Predicate onWhen) -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected ThrowableReturns with the exception that is caught by this processor.protected voiddoInit()longGets the total number of Exchanges that was caught (also matched the onWhen predicate).longgetCaughtCount(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 booleanmatchesWhen(org.apache.camel.Exchange exchange) Strategy method for matching the exception type with the current exchange.booleanprocess(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) voidreset()Reset counters.voidvoidsetRouteId(String routeId) toString()Methods inherited from class org.apache.camel.support.processor.DelegateAsyncProcessor
doBuild, doShutdown, doStart, doStop, getProcessor, hasNext, next, setProcessor, setProcessorMethods inherited from class org.apache.camel.support.AsyncProcessorSupport
process, processAsyncMethods inherited from class org.apache.camel.support.service.BaseService
build, doFail, doLifecycleChange, doResume, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspendMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.camel.spi.IdAware
setGeneratedIdMethods inherited from interface org.apache.camel.Processor
processMethods inherited from interface org.apache.camel.Service
build, close, init, start, stopMethods inherited from interface org.apache.camel.ShutdownableService
shutdownMethods inherited from interface org.apache.camel.StatefulService
getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspendingMethods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
-
Constructor Details
-
CatchProcessor
-
-
Method Details
-
doInit
- Overrides:
doInitin classorg.apache.camel.support.processor.DelegateAsyncProcessor- Throws:
Exception
-
toString
- Overrides:
toStringin classorg.apache.camel.support.processor.DelegateAsyncProcessor
-
getId
- Specified by:
getIdin interfaceorg.apache.camel.spi.HasId
-
setId
- Specified by:
setIdin interfaceorg.apache.camel.spi.IdAware
-
getRouteId
- Specified by:
getRouteIdin interfaceorg.apache.camel.spi.RouteIdAware
-
setRouteId
- Specified by:
setRouteIdin interfaceorg.apache.camel.spi.RouteIdAware
-
getTraceLabel
- Specified by:
getTraceLabelin interfaceorg.apache.camel.Traceable
-
canIntercept
public boolean canIntercept()- Specified by:
canInterceptin interfaceorg.apache.camel.spi.InterceptableProcessor
-
process
public boolean process(org.apache.camel.Exchange exchange, org.apache.camel.AsyncCallback callback) - Specified by:
processin interfaceorg.apache.camel.AsyncProcessor- Overrides:
processin 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.
-