小编use*_*642的帖子

如何捕获 Mule foreach 作用域中的异常但保持进程继续进行?

我是 Mule ESB 的新手。我创建了一个简单的流程,循环遍历订单列表并调用 Magento API 来逐一更新订单状态。我的问题是,如果 foreach 范围内发生任何异常,整个过程就会结束。我尝试使用异常策略来捕获异常,它确实捕获了异常。但如何恢复该过程呢?我通过谷歌搜索没有找到太多信息。也许我在流程上做错了什么。在 Mule 中我们通常如何处理这个问题?

这是我的 xml 流程。

    <flow name="Update_Magento_Order_Status_AU" doc:name="Update_Magento_Order_Status_AU" initialState="started">
    <poll doc:name="Poll">
        <fixed-frequency-scheduler frequency="10" timeUnit="MINUTES"/>
        <jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="GET_ORDERS_BY_STATUS_QUERY" queryTimeout="-1" connector-ref="DSEDatabase" doc:name="Get Orders By Status"/>
    </poll>
    <flow-ref name="ProcessOrderStastusUpdate" doc:name="Process Order Status Update"/>
</flow>
<flow name="ProcessOrderStastusUpdate" doc:name="ProcessOrderStastusUpdate">
    <foreach collection="#[payload]" doc:name="For Each">
        <component doc:name="Set Magento Order Status for Update">
            <singleton-object class="com.dse.esb.component.OrderStatusMapperComp">
                <property key="as400OrderStatuses" value="${as400.orderstatuses}"/>
                <property key="magentoOrderStatuses" value="${magento.orderStatuses}"/>
            </singleton-object>
        </component>
        <logger message="About to update Magento Order Status" level="INFO" doc:name="Logger"/>
        <magento:add-order-comment config-ref="Magento" comment="Updated by Mule ESB with …
Run Code Online (Sandbox Code Playgroud)

mule mule-studio

5
推荐指数
1
解决办法
5111
查看次数

标签 统计

mule ×1

mule-studio ×1