Class ErrorHandlerSupport

  • All Implemented Interfaces:
    AutoCloseable, org.apache.camel.Processor, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.ErrorHandler, org.apache.camel.StatefulService, org.apache.camel.SuspendableService
    Direct Known Subclasses:
    NoErrorHandler, RedeliveryErrorHandler

    public abstract class ErrorHandlerSupport
    extends org.apache.camel.support.ChildServiceSupport
    implements org.apache.camel.spi.ErrorHandler
    Support class for ErrorHandler implementations.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.apache.camel.support.processor.DefaultExchangeFormatter DEFAULT_EXCHANGE_FORMATTER  
      protected Map<ExceptionPolicyKey,​ExceptionPolicy> exceptionPolicies  
      protected ExceptionPolicyStrategy exceptionPolicy  
      • Fields inherited from class org.apache.camel.support.ChildServiceSupport

        childServices
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addErrorHandler​(org.apache.camel.Processor errorHandler)  
      void addExceptionPolicy​(ExceptionPolicyKey key, ExceptionPolicy policy)  
      abstract org.apache.camel.spi.ErrorHandler clone​(org.apache.camel.Processor output)
      Clones the current error handler and changes the output
      protected ExceptionPolicy getExceptionPolicy​(org.apache.camel.Exchange exchange, Throwable exception)
      Attempts to find the best suited ExceptionPolicy to be used for handling the given thrown exception.
      abstract org.apache.camel.Processor getOutput()
      Gets the output
      boolean isDeadLetterChannel()
      Whether this error handler handles exhausted errors by moving the exchange to a dead letter channel.
      abstract boolean supportTransacted()
      Whether this error handler supports transacted exchanges or not.
      • Methods inherited from class org.apache.camel.support.ChildServiceSupport

        addChildService, removeChildService, shutdown, start, stop
      • Methods inherited from class org.apache.camel.support.service.BaseService

        build, doBuild, doFail, doInit, doLifecycleChange, doResume, doShutdown, doStart, doStop, doSuspend, fail, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, suspend
      • Methods inherited from interface org.apache.camel.Processor

        process
      • Methods inherited from interface org.apache.camel.Service

        build, close, init
      • 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

      • ErrorHandlerSupport

        public ErrorHandlerSupport()
    • Method Detail

      • addErrorHandler

        public void addErrorHandler​(org.apache.camel.Processor errorHandler)
      • getExceptionPolicy

        protected ExceptionPolicy getExceptionPolicy​(org.apache.camel.Exchange exchange,
                                                     Throwable exception)
        Attempts to find the best suited ExceptionPolicy to be used for handling the given thrown exception.
        Parameters:
        exchange - the exchange
        exception - the exception that was thrown
        Returns:
        the best exception type to handle this exception, null if none found.
      • supportTransacted

        public abstract boolean supportTransacted()
        Whether this error handler supports transacted exchanges or not.
      • isDeadLetterChannel

        public boolean isDeadLetterChannel()
        Whether this error handler handles exhausted errors by moving the exchange to a dead letter channel.
      • getOutput

        public abstract org.apache.camel.Processor getOutput()
        Gets the output
      • clone

        public abstract org.apache.camel.spi.ErrorHandler clone​(org.apache.camel.Processor output)
        Clones the current error handler and changes the output