public class DeadLetterChannel extends RedeliveryErrorHandler
RedeliveryPolicy
RedeliveryErrorHandler.RedeliveryData
camelContext, deadLetter, deadLetterUri, executorService, logger, output, outputAsync, preparingShutdown, redeliveryEnabled, redeliveryPolicy, redeliveryProcessor, retryWhilePolicy, useOriginalMessagePolicy
exceptionPolicies, exceptionPolicy, log
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
protected Predicate |
getDefaultHandledPredicate() |
boolean |
isDeadLetterChannel()
Whether this error handler handles exhausted errors by moving the exchange to a dead letter channel.
|
protected boolean |
isRunAllowedOnPreparingShutdown() |
void |
process(Exchange exchange)
Processes the message exchange
|
String |
toString() |
defensiveCopyExchangeIfNeeded, deliverToFailureProcessor, deliverToOnRedeliveryProcessor, determineRedeliveryDelay, doShutdown, doStart, doStop, getDeadLetter, getDeadLetterUri, getLogger, getOutput, getRedeliveryPolicy, handleException, isCancelledOrInterrupted, isDone, isRedeliveryAllowed, isRunAllowed, isUseOriginalMessagePolicy, prepareExchangeAfterFailure, prepareExchangeForContinue, prepareExchangeForRedelivery, prepareShutdown, process, processAsyncErrorHandler, processErrorHandler, shouldHandleException, supportTransacted
addExceptionPolicy, createDefaultExceptionPolicyStrategy, getExceptionPolicy, setExceptionPolicy
addChildService, removeChildService, shutdown, start, start, stop
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, suspend
public DeadLetterChannel(CamelContext camelContext, Processor output, CamelLogger logger, Processor redeliveryProcessor, RedeliveryPolicy redeliveryPolicy, ExceptionPolicyStrategy exceptionPolicyStrategy, Processor deadLetter, String deadLetterUri, boolean useOriginalBodyPolicy, Predicate retryWhile, ScheduledExecutorService executorService)
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.public void process(Exchange exchange) throws Exception
Processor
process
in interface Processor
process
in class RedeliveryErrorHandler
exchange
- the message exchangeException
- if an internal processing error has occurred.protected Predicate getDefaultHandledPredicate()
getDefaultHandledPredicate
in class RedeliveryErrorHandler
protected boolean isRunAllowedOnPreparingShutdown()
isRunAllowedOnPreparingShutdown
in class RedeliveryErrorHandler
public boolean isDeadLetterChannel()
ErrorHandlerSupport
isDeadLetterChannel
in class ErrorHandlerSupport
Apache Camel