Apache camel Camel useExponentialBackoff工作不正常

Apache camel Camel useExponentialBackoff工作不正常,apache-camel,jbossfuse,fuseesb,Apache Camel,Jbossfuse,Fuseesb,我已经设置了一个驼峰路由,错误处理程序和重新交付策略配置如下 <errorHandler id="apiRetryHandler" type="DefaultErrorHandler"> <redeliveryPolicy maximumRedeliveries="5" redeliveryDelay="30000" backOffMultiplier="5" useExponentialBackOff="true" useCollisionAvoidance="true"/&

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

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

我期待着以下结果

  • 消息1->实际消息
  • 消息2->第一次重试=30秒
  • 消息3->第二次重试(30[RedeliveryDisplay]x 5[backoffMultipler]) =2.5分钟
  • 消息4->第三次重试(2.5分钟(先前)x 5[回退倍增器])=12.5分钟
在第一次失败时,当我从系统接收到异常时,处理程序按以下顺序启动

  • 第一次重试-30秒
  • 第二次重试-1分钟
  • 第三次重试-1分钟
  • 第6次重试-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]

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

      <errorHandler id="apiRetryHandler" type="DefaultErrorHandler">
      <redeliveryPolicy maximumRedeliveryDelay="30min" maximumRedeliveries="5" redeliveryDelay="30sec"
      backOffMultiplier="5" useExponentialBackOff="true"
      useCollisionAvoidance="true"/><errorHandler>
      
      
      
      • [1]