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