exception - 配置了 maxRedeliveryAttempts 和 VM 入站的回滚策略不会重新传送消息

标签 exception mule

我的流程如下所示,我希望消息被重新传递 2 次,然后

Redelivery is exhaused SAD

要打印的记录器。但是组件抛出异常后,重新传递机制并没有启动

Rollback with redelivery

<vm:connector name="VM" validateConnections="true" doc:name="VM" />


<flow name="TriggerFlow" >
    <http:listener config-ref="Orders_HTTP_Listener_Configuration" path="/rollback" allowedMethods="GET" doc:name="1080/rollback" />
    <vm:outbound-endpoint exchange-pattern="request-response" path="txFlow" doc:name="VM" connector-ref="VM" responseTimeout="60000">                      
    </vm:outbound-endpoint>
</flow>

<flow name="TxFlow" >
    <vm:inbound-endpoint exchange-pattern="request-response" path="txFlow" doc:name="case1" connector-ref="VM" responseTimeout="60000">
        <xa-transaction action="ALWAYS_BEGIN"/>
    </vm:inbound-endpoint>
    <scripting:component doc:name="Groovy">
        <scripting:script engine="Groovy"><![CDATA[throw new RuntimeException();]]></scripting:script>
    </scripting:component>
    <rollback-exception-strategy maxRedeliveryAttempts="3" doc:name="Rollback Exception Strategy">
        <logger message="Will rollback #[payload]" level="INFO" doc:name="Logger"/>
        <on-redelivery-attempts-exceeded>
            <logger message="Redelivery is exhaused SAD " level="INFO" doc:name="Logger"/>
        </on-redelivery-attempts-exceeded>
    </rollback-exception-strategy>
</flow>

最佳答案

在与 MuleSoft 交谈后,我终于得到了答案。更新后的流程应如下所示,VM 应该是单向的,并且 TxFlow 的处理策略应该是同步的。如果虚拟机是请求响应式的,那么它的行为更像是一个流引用,不涉及队列,因此不需要重新传递...

enter image description here

关于exception - 配置了 maxRedeliveryAttempts 和 VM 入站的回滚策略不会重新传送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30187004/

相关文章:

php脚本不会抛出异常

sockets - MULE- 如何监听由出站端点创建的客户端套接字

https - 在 Mule 3.5 中为 HTTPS 设置 TLS 1.2

python - 使用python elasticsearch创建索引时如何处理try catch异常?

Python tarfile 模块在提取过程中覆盖现有文件 - 如何禁用它?

C++:从堆栈溢出中获取异常?

c# - ASP.Net MVC - 如何处理 JSON 操作中的异常(返回 JSON 错误信息),同时发布过滤器的异常?

java - 全局消息处理器与本地消息处理器

骡子 3.4+ : Best practice in setting the payload for static SOAP request

java - AmazonClientException : Unable To Load Credentials from any Provider in the Chain