提问者:小点点

Camel useExponentialBackoff工作不正常


我已经设置了一个骆驼路由,错误处理程序和重新交付策略配置如下

<errorHandler id="apiRetryHandler" type="DefaultErrorHandler">
<redeliveryPolicy maximumRedeliveries="5" redeliveryDelay="30000"
backOffMultiplier="5" useExponentialBackOff="true"
useCollisionAvoidance="true"/><errorHandler>

我期待以下结果

  • 消息 1 -

在第一次失败时,当我收到来自系统的异常时,处理程序按以下顺序启动

  • 第一次重试 - 30 秒
  • 第二次重试 - 1 分钟
  • 第三次重试 - 1 分钟 ...
  • 第 6 次重试 - 1 分钟

请告知我在这里做错了什么。


共1个答案

匿名用户

最大重新传送延迟为60秒[1]。您需要将其设置为更高的值。此外,不建议使用长延迟值,例如12.5分钟是很长的时间。

<errorHandler id="apiRetryHandler" type="DefaultErrorHandler">
<redeliveryPolicy maximumRedeliveryDelay="30min" maximumRedeliveries="5" redeliveryDelay="30sec"
backOffMultiplier="5" useExponentialBackOff="true"
useCollisionAvoidance="true"/><errorHandler>
  • 【1】http://camel.apache.org/dead-letter-channel.html