I have this code in my route:
onException(Exception.class)
.handled(true)
.maximumRedeliveries(-1)
.redeliveryDelay(1L * 1000L)
.backOffMultiplier(2.0D)
.maximumRedeliveryDelay(60L * 1000L)
.logRetryAttempted(true)
.retryAttemptedLogLevel(LoggingLevel.WARN)
.logRetryStackTrace(true)
.logStackTrace(true)
.log(LoggingLevel.ERROR,
ConfiguredRouteBuilder.class.getSimpleName() +
": onException handler: caught Exception! ${property." +
Exchange.EXCEPTION_CAUGHT + "}")
But when an exception happens, the delay between retries is always 1
second (or whatever I change the redeliveryDelay number to), there's
never any backoff (the retry logs are always 1-second apart). So 2
questions:
1- why isn't the backoff multiplier having any effect?
2- is there a way (short of stepping through Camel source code) for me
to diagnose something like this?
(I'm on camel 2.12.1)
onException(Exception.class)
.handled(true)
.maximumRedeliveries(-1)
.redeliveryDelay(1L * 1000L)
.backOffMultiplier(2.0D)
.maximumRedeliveryDelay(60L * 1000L)
.logRetryAttempted(true)
.retryAttemptedLogLevel(LoggingLevel.WARN)
.logRetryStackTrace(true)
.logStackTrace(true)
.log(LoggingLevel.ERROR,
ConfiguredRouteBuilder.class.getSimpleName() +
": onException handler: caught Exception! ${property." +
Exchange.EXCEPTION_CAUGHT + "}")
But when an exception happens, the delay between retries is always 1
second (or whatever I change the redeliveryDelay number to), there's
never any backoff (the retry logs are always 1-second apart). So 2
questions:
1- why isn't the backoff multiplier having any effect?
2- is there a way (short of stepping through Camel source code) for me
to diagnose something like this?
(I'm on camel 2.12.1)