public class DeadLetterChannel extends RedeliveryErrorHandler
RedeliveryPolicy
RedeliveryErrorHandler.RedeliveryData
camelContext, customExchangeFormatter, deadLetter, deadLetterHandleNewException, deadLetterUri, exchangeFormatter, executorService, logger, onExceptionProcessor, onPrepareProcessor, output, outputAsync, preparingShutdown, redeliveryEnabled, redeliveryPolicy, redeliveryProcessor, redeliverySleepCounter, 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 deadLetterHandleException,
boolean useOriginalBodyPolicy,
Predicate retryWhile,
ScheduledExecutorService executorService,
Processor onPrepareProcessor,
Processor onExceptionOccurredProcessor)
Creates the dead letter channel.
|
Modifier and Type | Method and Description |
---|---|
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, getDefaultHandledPredicate, getLogger, getOutput, getPendingRedeliveryCount, getRedeliveryPolicy, handleException, hasNext, isCancelledOrInterrupted, isDeadLetterHandleNewException, isDone, isRedeliveryAllowed, isRunAllowed, isUseOriginalMessagePolicy, next, onExceptionOccurred, prepareExchangeAfterFailure, prepareExchangeForContinue, prepareExchangeForRedelivery, prepareShutdown, process, processAsyncErrorHandler, shouldHandleException, supportTransacted
addExceptionPolicy, createDefaultExceptionPolicyStrategy, getExceptionPolicy, setExceptionPolicy
addChildService, removeChildService, shutdown, start, start, stop
doResume, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, suspend
public DeadLetterChannel(CamelContext camelContext, Processor output, CamelLogger logger, Processor redeliveryProcessor, RedeliveryPolicy redeliveryPolicy, ExceptionPolicyStrategy exceptionPolicyStrategy, Processor deadLetter, String deadLetterUri, boolean deadLetterHandleException, boolean useOriginalBodyPolicy, Predicate retryWhile, ScheduledExecutorService executorService, Processor onPrepareProcessor, Processor onExceptionOccurredProcessor)
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 purposedeadLetterHandleException
- whether dead letter channel should handle (and ignore) exceptions which may be thrown during sending the message to the dead letter endpointuseOriginalBodyPolicy
- 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.onPrepareProcessor
- a custom Processor
to prepare the Exchange
before
handled by the failure processor / dead letter channel.onExceptionOccurredProcessor
- a custom Processor
to process the Exchange
just after an exception was thrown.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 boolean isRunAllowedOnPreparingShutdown()
isRunAllowedOnPreparingShutdown
in class RedeliveryErrorHandler
public boolean isDeadLetterChannel()
ErrorHandlerSupport
isDeadLetterChannel
in class ErrorHandlerSupport
Apache Camel