首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnException maximumRedeliveries被忽略

OnException maximumRedeliveries被忽略
EN

Stack Overflow用户
提问于 2018-05-30 09:45:14
回答 1查看 1.4K关注 0票数 0

在下面的路由中,当我们得到异常时,将忽略来自redeliveryPolicy的redeliveryPolicy clausule。我们得到:

未能交付(MessageId: ID-UW205584-58231-1527668174534-39-248 on ExchangeId: ID-UW205584-58231-1527668174534-39-24).送货企图:0

未能交付(MessageId: ID-UW205584-58231-1527668174534-39-248 on ExchangeId: ID-UW205584-58231-1527668174534-39-24).送货企图:1

然后,它保持在无穷大循环中,重复最后一次重试。有什么想法吗?非常感谢社区!

我们的路线如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="ASCII"?>
<routes xmlns="http://camel.apache.org/schema/spring">
    <route handleFault="true">
        <from uri="switchyard://ProcessTaskEx"/>
        <log message="ProcessTaskEx - message received: ${body}" loggingLevel="DEBUG" logName="WebServiceQueues" />
        <to uri="switchyard://RequestCapacity"/>
        <onException>
            <exception>java.lang.Exception</exception>
             <exception>webservicequeues.utilities.WebServiceQueueException</exception>

            <redeliveryPolicy maximumRedeliveries="2" redeliveryDelay="6000" maximumRedeliveryDelay="90000" retriesExhaustedLogLevel="INFO" retryAttemptedLogLevel="INFO"/>
            <handled>
                <constant>true</constant>
            </handled>

            <log message="Failed after Retry.Sending ProcessTask Request to Error Queue" loggingLevel="ERROR" logName="WebServiceQueues" />
            <to uri="switchyard://ErrorProcessTaskExQueue"/>
        </onException>
    </route>
</routes>
EN

回答 1

Stack Overflow用户

发布于 2018-06-02 22:31:24

因为您有一个无限循环,所以听起来消息头CamelRedeliveryCounter每次都会被覆盖,因此它永远不会到达2的maximumRedeliveries

对发生错误的端点的调用是否可能删除或重置消息头?特别是CamelRedeliveryCounter

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50601473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档