Class 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

      Constructors 
      Constructor Description
      CatchProcessor​(List<Class<? extends Throwable>> exceptions, org.apache.camel.Processor processor, org.apache.camel.Predicate onWhen)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected Throwable catches​(org.apache.camel.Exchange exchange, Throwable exception)
      Returns with the exception that is caught by this processor.
      List<Class<? extends Throwable>> getExceptions()  
      String getId()  
      String getRouteId()  
      String getTraceLabel()  
      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 setId​(String id)  
      void setRouteId​(String routeId)  
      String toString()  
      • Methods inherited from class org.apache.camel.support.processor.DelegateAsyncProcessor

        doBuild, doInit, 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 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 Detail

      • CatchProcessor

        public CatchProcessor​(List<Class<? extends Throwable>> exceptions,
                              org.apache.camel.Processor processor,
                              org.apache.camel.Predicate onWhen)
    • Method Detail

      • toString

        public String toString()
        Overrides:
        toString in class org.apache.camel.support.processor.DelegateAsyncProcessor
      • getId

        public String getId()
        Specified by:
        getId in interface org.apache.camel.spi.HasId
      • setId

        public void setId​(String id)
        Specified by:
        setId in interface org.apache.camel.spi.IdAware
      • getRouteId

        public String getRouteId()
        Specified by:
        getRouteId in interface org.apache.camel.spi.RouteIdAware
      • setRouteId

        public void setRouteId​(String routeId)
        Specified by:
        setRouteId in interface org.apache.camel.spi.RouteIdAware
      • getTraceLabel

        public String getTraceLabel()
        Specified by:
        getTraceLabel in interface org.apache.camel.Traceable
      • process

        public boolean process​(org.apache.camel.Exchange exchange,
                               org.apache.camel.AsyncCallback callback)
        Specified by:
        process in interface org.apache.camel.AsyncProcessor
        Overrides:
        process in class org.apache.camel.support.processor.DelegateAsyncProcessor
      • catches

        protected Throwable catches​(org.apache.camel.Exchange exchange,
                                    Throwable exception)
        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 exchange
        exception - the thrown exception
        Returns:
        Throwable that this processor catches. null if nothing matches.
      • 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 current Exchange
        Returns:
        true if matched, false otherwise.