1

我正在尝试使用持久队列存储从意外故障中恢复。我的骡子版本是 3.3.1

我从队列中提取消息并进入“直到成功”循环。如果骡子由于某种原因停止,我希望消息是持久的。

这是我的相关代码

<spring:bean id="outboundStore" class="org.mule.util.store.QueuePersistenceObjectStore" />

<until-successful objectStore-ref="outboundStore" 

我没有看到 .mule 目录中的消息。我究竟做错了什么?

抱歉,如果问题不清楚。

根据要求添加流:

<flow name="InitialFlow" processingStrategy="synchronous">
    <inbound-endpoint ref="firstQueue"/>
    <until-successful objectStore-ref="outboundStore" maxRetries="6" secondsBetweenRetries="5" deadLetterQueue-ref="secondQueue" failureExpression="groovy:message.getInvocationProperty('soapResponse') == 'BAD'">
        <flow-ref name="somSubFlow" />
    </until-successful>
</flow>

<sub-flow name="someSubFlow">
<http:outbound-endpoint ref="someEndpoint" exchange-pattern="request-response" method="GET" />  
</sub-flow>

如果您需要更多信息,请告诉我。

4

1 回答 1

2

使用与您的配置非常相似的配置,我完全可以看到写在.mule/queuestore/queuestore目录中的消息待发送。

我唯一能想到的是这个表达式的一个问题,groovy:message.getInvocationProperty('soapResponse') == 'BAD'它会以某种方式扰乱处理。

这个表达正确吗?为什么不使用 MEL?

于 2013-06-03T21:53:09.073 回答