当前位置: 首页 > 知识库问答 >
问题:

Camel useExponentialBackoff工作不正常

颜经艺
2023-03-14

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

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

我期待以下结果

  • 消息 1 -

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

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

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

共有1个答案

郎星汉
2023-03-14

最大重新传送延迟为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
 类似资料:
  • 我使用了绝对定位(setBounds和null布局),现在开始练习布局管理器,这段代码是用gridbag布局的,但是很少组件没有显示,或者是单元格有一些问题,或者是其他的东西,请帮助!

  • 我试图创建一个基于警报的应用程序。我正在使用。问题是这一点都不可靠。在某些设备中,它起作用…在其他设备中,它的工作方式…而在其他设备中,它根本不起作用。 这是我的闹钟课: 这是我的OneTimeAlarm,只发射一次就不再发射的警报。 这是我的日常警报器,警报器一天只响一次。

  • 我正在使用ora2pg将我的数据从oracle迁移到postgres数据库。作为第一步,我要导出模式。我发现生成的sql文件有许多错误,如重复的sql语句,函数中的重复参数,这些错误在执行sql时失败。我正在尝试手动更正生成的sql文件中的这些错误。是否有更好的方法或避免sql文件中的此错误。实际上,我只需要将数据从oracle传输到postgres数据库。但不知道这是否可能。我使用的是ORA2P

  • 下一个问题是事情不能正常工作,有时vm通过命令看到PostgreSQL,有时它不知道它是什么,并声明它没有安装。当它看到它时,它声明 最后一个问题是,当vm启动时,有200多个常规和安全更新。我希望在第一次设置vm时,通过处理这一点。我试着做: config.vm.provision:shell,内联:%q{sudo apt-get update sudo apt-get upgrade-y} 但

  • 我正试图在按下某个按钮时弹出一个警报对话框。我首先使用了Android Developer的示例代码而不是'这不起作用,所以我根据在这个站点上发现的情况进行了更改,但是现在我的程序在按下按钮后被迫停止。 就你的知识而言,这是在第二个不同于主要的活动中完成的。不确定这是否重要.... ‘ 碰撞日志:“03-25 19:34:24.373:E/AndroidRuntime(18828):致命异常:ma

  • 2,错误{org.apache.directory.server.LDAP.ldapserver}-ERR_171无法将LDAP服务(10,389)绑定到服务注册表。java.net.BindException:已在使用的地址 请帮忙谢谢 --------提示------------------- JAVA_HOME环境变量设置为/opt/java CARBON_HOME环境变量设置为/mnt/1