org.apache.camel.builder
Class DefaultErrorHandlerBuilder

java.lang.Object
  extended by org.apache.camel.builder.ErrorHandlerBuilderSupport
      extended by org.apache.camel.builder.DefaultErrorHandlerBuilder
All Implemented Interfaces:
ErrorHandlerBuilder
Direct Known Subclasses:
DeadLetterChannelBuilder

public class DefaultErrorHandlerBuilder
extends ErrorHandlerBuilderSupport

The default error handler builder.

Version:
$Revision: 792966 $

Field Summary
protected  Endpoint deadLetter
           
protected  String deadLetterUri
           
protected  ExceptionPolicyStrategy exceptionPolicyStrategy
           
protected  Processor failureProcessor
           
protected  Predicate handledPolicy
           
protected  Logger logger
           
protected  Processor onRedelivery
           
protected  RedeliveryPolicy redeliveryPolicy
           
protected  boolean useOriginalMessage
           
 
Constructor Summary
DefaultErrorHandlerBuilder()
           
 
Method Summary
 DefaultErrorHandlerBuilder backOffMultiplier(double backOffMultiplier)
           
 DefaultErrorHandlerBuilder collisionAvoidancePercent(short collisionAvoidancePercent)
           
 Processor createErrorHandler(RouteContext routeContext, Processor processor)
          Creates the error handler interceptor
protected  Predicate createHandledPolicy()
           
protected  Logger createLogger()
           
protected  RedeliveryPolicy createRedeliveryPolicy()
           
 DefaultErrorHandlerBuilder delayPattern(String delayPattern)
           
 DefaultErrorHandlerBuilder disableRedelivery()
           
 DefaultErrorHandlerBuilder exceptionPolicyStrategy(ExceptionPolicyStrategy exceptionPolicyStrategy)
          Sets the exception policy to use
 Endpoint getDeadLetter()
           
 String getDeadLetterUri()
           
 ExceptionPolicyStrategy getExceptionPolicyStrategy()
          Sets the exception policy strategy to use for resolving the OnExceptionDefinition to use for a given thrown exception
 Processor getFailureProcessor()
           
 Predicate getHandledPolicy()
           
 Logger getLogger()
           
 Processor getOnRedelivery()
           
 RedeliveryPolicy getRedeliveryPolicy()
           
 DefaultErrorHandlerBuilder handled(boolean handled)
          Sets whether the exchange should be marked as handled or not.
 DefaultErrorHandlerBuilder handled(Expression handled)
          Sets whether the exchange should be marked as handled or not.
 DefaultErrorHandlerBuilder handled(Predicate handled)
          Sets whether the exchange should be marked as handled or not.
 boolean isUseOriginalMessage()
           
 DefaultErrorHandlerBuilder log(Class log)
          Sets the log used for caught exceptions
 DefaultErrorHandlerBuilder log(org.apache.commons.logging.Log log)
          Sets the log used for caught exceptions
 DefaultErrorHandlerBuilder log(String log)
          Sets the log used for caught exceptions
 DefaultErrorHandlerBuilder logger(Logger logger)
          Sets the logger used for caught exceptions
 DefaultErrorHandlerBuilder loggingLevel(LoggingLevel level)
          Sets the logging level of exceptions caught
 DefaultErrorHandlerBuilder logStackTrace(boolean logStackTrace)
           
 DefaultErrorHandlerBuilder maximumRedeliveries(int maximumRedeliveries)
           
 DefaultErrorHandlerBuilder maximumRedeliveryDelay(long maximumRedeliveryDelay)
           
 DefaultErrorHandlerBuilder onRedelivery(Processor processor)
          Sets a processor that should be processed before a redelivey attempt.
 DefaultErrorHandlerBuilder redeliverDelay(long delay)
           
 DefaultErrorHandlerBuilder retriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel)
           
 DefaultErrorHandlerBuilder retryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel)
           
 void setDeadLetter(Endpoint deadLetter)
           
 void setDeadLetterUri(String deadLetterUri)
           
 void setExceptionPolicyStrategy(ExceptionPolicyStrategy exceptionPolicyStrategy)
          Sets the exception policy strategy to use for resolving the OnExceptionDefinition to use for a given thrown exception
 void setFailureProcessor(Processor failureProcessor)
           
 void setHandled(boolean handled)
          Sets the handled using a boolean and thus easier to use for Spring XML configuration as well
 void setHandledPolicy(Predicate handled)
           
 void setLogger(Logger logger)
           
 void setOnRedelivery(Processor onRedelivery)
           
 void setRedeliveryPolicy(RedeliveryPolicy redeliveryPolicy)
          Sets the redelivery policy
 void setUseOriginalMessage(boolean useOriginalMessage)
           
 boolean supportTransacted()
          Whether this error handler supports transacted exchanges.
 String toString()
           
 DefaultErrorHandlerBuilder useCollisionAvoidance()
           
 DefaultErrorHandlerBuilder useExponentialBackOff()
           
 DefaultErrorHandlerBuilder useOriginalMessage()
          Will use the original input Message when an Exchange is moved to the dead letter queue.
 
Methods inherited from class org.apache.camel.builder.ErrorHandlerBuilderSupport
addErrorHandlers, configure, getErrorHandlers, setErrorHandlers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected Logger logger

exceptionPolicyStrategy

protected ExceptionPolicyStrategy exceptionPolicyStrategy

redeliveryPolicy

protected RedeliveryPolicy redeliveryPolicy

onRedelivery

protected Processor onRedelivery

handledPolicy

protected Predicate handledPolicy

failureProcessor

protected Processor failureProcessor

deadLetter

protected Endpoint deadLetter

deadLetterUri

protected String deadLetterUri

useOriginalMessage

protected boolean useOriginalMessage
Constructor Detail

DefaultErrorHandlerBuilder

public DefaultErrorHandlerBuilder()
Method Detail

createErrorHandler

public Processor createErrorHandler(RouteContext routeContext,
                                    Processor processor)
                             throws Exception
Description copied from interface: ErrorHandlerBuilder
Creates the error handler interceptor

Parameters:
routeContext - the route context
processor - the outer processor
Returns:
the error handler
Throws:
Exception - is thrown if the error handler could not be created

supportTransacted

public boolean supportTransacted()
Description copied from interface: ErrorHandlerBuilder
Whether this error handler supports transacted exchanges.


backOffMultiplier

public DefaultErrorHandlerBuilder backOffMultiplier(double backOffMultiplier)

collisionAvoidancePercent

public DefaultErrorHandlerBuilder collisionAvoidancePercent(short collisionAvoidancePercent)

redeliverDelay

public DefaultErrorHandlerBuilder redeliverDelay(long delay)

delayPattern

public DefaultErrorHandlerBuilder delayPattern(String delayPattern)

maximumRedeliveries

public DefaultErrorHandlerBuilder maximumRedeliveries(int maximumRedeliveries)

disableRedelivery

public DefaultErrorHandlerBuilder disableRedelivery()

maximumRedeliveryDelay

public DefaultErrorHandlerBuilder maximumRedeliveryDelay(long maximumRedeliveryDelay)

useCollisionAvoidance

public DefaultErrorHandlerBuilder useCollisionAvoidance()

useExponentialBackOff

public DefaultErrorHandlerBuilder useExponentialBackOff()

retriesExhaustedLogLevel

public DefaultErrorHandlerBuilder retriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel)

retryAttemptedLogLevel

public DefaultErrorHandlerBuilder retryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel)

logStackTrace

public DefaultErrorHandlerBuilder logStackTrace(boolean logStackTrace)

handled

public DefaultErrorHandlerBuilder handled(boolean handled)
Sets whether the exchange should be marked as handled or not.

Parameters:
handled - handled or not
Returns:
the builder

handled

public DefaultErrorHandlerBuilder handled(Predicate handled)
Sets whether the exchange should be marked as handled or not.

Parameters:
handled - predicate that determines true or false
Returns:
the builder

handled

public DefaultErrorHandlerBuilder handled(Expression handled)
Sets whether the exchange should be marked as handled or not.

Parameters:
handled - expression that determines true or false
Returns:
the builder

logger

public DefaultErrorHandlerBuilder logger(Logger logger)
Sets the logger used for caught exceptions

Parameters:
logger - the logger
Returns:
the builder

loggingLevel

public DefaultErrorHandlerBuilder loggingLevel(LoggingLevel level)
Sets the logging level of exceptions caught

Parameters:
level - the logging level
Returns:
the builder

log

public DefaultErrorHandlerBuilder log(org.apache.commons.logging.Log log)
Sets the log used for caught exceptions

Parameters:
log - the logger
Returns:
the builder

log

public DefaultErrorHandlerBuilder log(String log)
Sets the log used for caught exceptions

Parameters:
log - the log name
Returns:
the builder

log

public DefaultErrorHandlerBuilder log(Class log)
Sets the log used for caught exceptions

Parameters:
log - the log class
Returns:
the builder

exceptionPolicyStrategy

public DefaultErrorHandlerBuilder exceptionPolicyStrategy(ExceptionPolicyStrategy exceptionPolicyStrategy)
Sets the exception policy to use

Overrides:
exceptionPolicyStrategy in class ErrorHandlerBuilderSupport
Returns:
the builder

onRedelivery

public DefaultErrorHandlerBuilder onRedelivery(Processor processor)
Sets a processor that should be processed before a redelivey attempt.

Can be used to change the Exchange before its being redelivered.

Returns:
the builder

useOriginalMessage

public DefaultErrorHandlerBuilder useOriginalMessage()
Will use the original input Message when an Exchange is moved to the dead letter queue.

Notice: this only applies when all redeliveries attempt have failed and the Exchange is doomed for failure.
Instead of using the current inprogress Exchange IN message we use the original IN message instead. This allows you to store the original input in the dead letter queue instead of the inprogress snapshot of the IN message. For instance if you route transform the IN body during routing and then failed. With the original exchange store in the dead letter queue it might be easier to manually re submit the Exchange again as the IN message is the same as when Camel received it. So you should be able to send the Exchange to the same input.

By default this feature is off.

Returns:
the builder

getFailureProcessor

public Processor getFailureProcessor()

setFailureProcessor

public void setFailureProcessor(Processor failureProcessor)

getRedeliveryPolicy

public RedeliveryPolicy getRedeliveryPolicy()

setRedeliveryPolicy

public void setRedeliveryPolicy(RedeliveryPolicy redeliveryPolicy)
Sets the redelivery policy


getLogger

public Logger getLogger()

setLogger

public void setLogger(Logger logger)

getExceptionPolicyStrategy

public ExceptionPolicyStrategy getExceptionPolicyStrategy()
Sets the exception policy strategy to use for resolving the OnExceptionDefinition to use for a given thrown exception

Specified by:
getExceptionPolicyStrategy in interface ErrorHandlerBuilder
Overrides:
getExceptionPolicyStrategy in class ErrorHandlerBuilderSupport

setExceptionPolicyStrategy

public void setExceptionPolicyStrategy(ExceptionPolicyStrategy exceptionPolicyStrategy)
Description copied from interface: ErrorHandlerBuilder
Sets the exception policy strategy to use for resolving the OnExceptionDefinition to use for a given thrown exception

Specified by:
setExceptionPolicyStrategy in interface ErrorHandlerBuilder
Overrides:
setExceptionPolicyStrategy in class ErrorHandlerBuilderSupport
Parameters:
exceptionPolicyStrategy - the exception policy strategy

getOnRedelivery

public Processor getOnRedelivery()

setOnRedelivery

public void setOnRedelivery(Processor onRedelivery)

getHandledPolicy

public Predicate getHandledPolicy()

setHandledPolicy

public void setHandledPolicy(Predicate handled)

setHandled

public void setHandled(boolean handled)
Sets the handled using a boolean and thus easier to use for Spring XML configuration as well


getDeadLetterUri

public String getDeadLetterUri()

setDeadLetterUri

public void setDeadLetterUri(String deadLetterUri)

getDeadLetter

public Endpoint getDeadLetter()

setDeadLetter

public void setDeadLetter(Endpoint deadLetter)

isUseOriginalMessage

public boolean isUseOriginalMessage()

setUseOriginalMessage

public void setUseOriginalMessage(boolean useOriginalMessage)

createHandledPolicy

protected Predicate createHandledPolicy()

createRedeliveryPolicy

protected RedeliveryPolicy createRedeliveryPolicy()

createLogger

protected Logger createLogger()

toString

public String toString()
Overrides:
toString in class Object


Apache CAMEL