...
- maximumRedeliveries=0
- redeliverDelay=1000L (1 second)
- maximumRedeliveryDelay = 60 * 1000L (60 seconds)
- And the exponential backoff and collision avoidance is turned off.
- The retriesExhaustedLogLevel are set to LoggingLevel.ERROR
- The retryAttemptedLogLevel are set to LoggingLevel.DEBUG
- Stack traces is logged for exhausted messages from Camel 2.2 onwards.
- Handled exceptions is not logged from Camel 2.3 onwards
- logExhaustedMessageHistory is true for default error handler, and false for dead letter channel.
- logExhaustedMessageBody Camel 2.17: is disabled by default to avoid logging sensitive message body/header details. If this option is true, then logExhaustedMessageHistory must also be true.
The maximum redeliver delay ensures that a delay is never longer than the value, default 1 minute. This can happen if you turn on the exponential backoff.
...
The default value is true
to be backwards compatible as before. For example the following sample shows how to do this with Java DSL and XML DSL
Wiki Markup |
---|
{snippet:id=e1|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliveryErrorHandlerNoRedeliveryOnShutdownTest.java} |
Wiki Markup |
---|
{snippet:id=e1|lang=xml|url=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringRedeliveryErrorHandlerNoRedeliveryOnShutdownTest.xml} |
Samples
The following example shows how to configure the Dead Letter Channel configuration using the DSL
Wiki Markup |
---|
{snippet:id=e3|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java} |
Wiki Markup |
---|
{snippet:id=e4|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ErrorHandlerTest.java} |
How can I modify the Exchange before redelivery?
...
Here we configure the Dead Letter Channel to use our processor MyRedeliveryProcessor
to be executed before each redelivery.
Wiki Markup |
---|
{snippet:id=e1|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java} |
MyRedeliveryProcessor
where we alter the message.Wiki Markup |
---|
{snippet:id=e2|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java} |
How can I log what caused the Dead Letter Channel to be invoked?
...