org.apache.camel.processor
Class DeadLetterChannel
java.lang.Object
org.apache.camel.support.ServiceSupport
org.apache.camel.support.ChildServiceSupport
org.apache.camel.processor.ErrorHandlerSupport
org.apache.camel.processor.RedeliveryErrorHandler
org.apache.camel.processor.DeadLetterChannel
- All Implemented Interfaces:
- AsyncProcessor, Processor, ErrorHandler, Service, ShutdownableService, StatefulService, SuspendableService
public class DeadLetterChannel
- extends RedeliveryErrorHandler
Implements a Dead Letter
Channel after attempting to redeliver the message using the
RedeliveryPolicy
- Version:
| Fields inherited from class org.apache.camel.processor.RedeliveryErrorHandler |
camelContext, deadLetter, deadLetterUri, executorService, logger, output, outputAsync, redeliveryEnabled, redeliveryPolicy, redeliveryProcessor, retryWhilePolicy, useOriginalMessagePolicy |
|
Constructor Summary |
DeadLetterChannel(CamelContext camelContext,
Processor output,
CamelLogger logger,
Processor redeliveryProcessor,
RedeliveryPolicy redeliveryPolicy,
ExceptionPolicyStrategy exceptionPolicyStrategy,
Processor deadLetter,
String deadLetterUri,
boolean useOriginalBodyPolicy,
Predicate retryWhile,
ScheduledExecutorService executorService)
Creates the dead letter channel. |
| Methods inherited from class org.apache.camel.processor.RedeliveryErrorHandler |
defensiveCopyExchangeIfNeeded, deliverToFailureProcessor, deliverToOnRedeliveryProcessor, determineRedeliveryDelay, doShutdown, doStart, doStop, getDeadLetter, getDeadLetterUri, getLogger, getOutput, getRedeliveryPolicy, handleException, isCancelledOrInterrupted, isDone, isRunAllowed, isUseOriginalMessagePolicy, prepareExchangeAfterFailure, prepareExchangeForContinue, prepareExchangeForRedelivery, process, processAsyncErrorHandler, processErrorHandler, shouldHandleException, supportTransacted |
| Methods inherited from class org.apache.camel.support.ServiceSupport |
doResume, doSuspend, getStatus, getVersion, isStarted, isStarting, isStopped, isStopping, isSuspended, isSuspending, resume, suspend |
DeadLetterChannel
public DeadLetterChannel(CamelContext camelContext,
Processor output,
CamelLogger logger,
Processor redeliveryProcessor,
RedeliveryPolicy redeliveryPolicy,
ExceptionPolicyStrategy exceptionPolicyStrategy,
Processor deadLetter,
String deadLetterUri,
boolean useOriginalBodyPolicy,
Predicate retryWhile,
ScheduledExecutorService executorService)
- Creates the dead letter channel.
- Parameters:
camelContext - the camel contextoutput - outer processor that should use this dead letter channellogger - logger to use for logging failures and redelivery attemptsredeliveryProcessor - an optional processor to run before redelivery attemptredeliveryPolicy - policy for redeliveryexceptionPolicyStrategy - strategy for onException handlingdeadLetter - the failure processor to send failed exchanges todeadLetterUri - an optional uri for logging purposeuseOriginalBodyPolicy - should the original IN body be moved to the dead letter queue or the current exchange IN body?retryWhile - retry whileexecutorService - the ScheduledExecutorService to be used for redelivery thread pool. Can be null.
process
public void process(Exchange exchange)
throws Exception
- Description copied from interface:
Processor
- Processes the message exchange
- Specified by:
process in interface Processor- Overrides:
process in class RedeliveryErrorHandler
- Parameters:
exchange - the message exchange
- Throws:
Exception - if an internal processing error has occurred.
toString
public String toString()
- Overrides:
toString in class Object
getDefaultHandledPredicate
protected Predicate getDefaultHandledPredicate()
- Overrides:
getDefaultHandledPredicate in class RedeliveryErrorHandler
isDeadLetterChannel
public boolean isDeadLetterChannel()
- Description copied from class:
ErrorHandlerSupport
- Whether this error handler handles exhausted errors by moving the exchange to a dead letter channel.
- Overrides:
isDeadLetterChannel in class ErrorHandlerSupport
Apache CAMEL