虽然它看起来像是一种bug,但想确认是否有人在Apache Camel版本 2.18.1.redhat-000021 中遇到这种情况,无论maximumRedeliveries的值是多少,路由失败只是被尝试了两次。
errorHandler(deadLetterChannel("amq:queue:ENTDLQ").maximumRedeliveries(5).useOriginalMessage()
.onRedelivery((Exchange e) ->{
log.info("--------------- Re-delivered..." + e.getIn().getHeaders());
})
.redeliveryDelay(2000).retryAttemptedLogLevel(LoggingLevel.WARN));
以下记录
发送尝试时:0 已捕获:org.apache.camel.http.common.HttpOperationFailedException:HTTP操作无法使用statusCode调用http://0.0.0.0:0/someservice:404
---------------重新发送...... {CamelJmsDeliveryMode = 2, CamelRedelivered = true, CamelRedeliveryCounter = 1 , CamelRedeliveryMaxCounter = 5,JMSCorrelationID = Camel-ID-Shoaibs-MacBook-Pro-local-56371-1518552634307-0-6}
发送尝试时:1 已捕获:org.apache.camel.http.common.HttpOperationFailedException:HTTP操作无法使用statusCode调用http://0.0.0.0:0/someservice:404
---------------重新发送...... {CamelJmsDeliveryMode = 2, CamelRedelivered = true, CamelRedeliveryCounter = 2 , CamelRedeliveryMaxCounter = 5,JMSCorrelationID = Camel-ID-Shoaibs-MacBook-Pro-local-56371-1518552634307-0-6}