Mulesoft for-each inside scatter-gather

问题描述 投票:0回答:1

这里我有一个要求,我需要将一条消息处理到两个不同的目标系统中。因此我在 mule 中使用分散聚集。 另外,我正在处理异常。

在分散聚集的每个路线中 - 我需要处理 foreach 范围内的消息。

如果 foreach 之外存在的任何元素的任何路由中发生错误 -

MULE:COMPOSITE_ROUTING
会给我正确的错误(如果两条路由都失败,则为 2)

但是,如果 foreach 范围内的元素内部发生错误 - 那么它只会给我一个最后发生的路由错误。

我需要知道如何获得路由的错误,在配置 foreach 或分散收集范围时缺少什么。

routes foreach mulesoft mule4
1个回答
0
投票

您只会从

foreach
得到 1 个错误,因为
foreach
在第一个错误时失败。即,如果您有 5 个元素,并且
foreach
内的处理失败,第 3 个元素出现
error
,则第 4 个和第 5 个元素将不会继续处理。

要让

foreach
继续处理,您需要使用
[parallel-foreach][1]
或者您需要在
on-error-continue
范围内使用
foreach
处理错误,然后添加验证或其他内容来检查是否有任何错误元素失败。

© www.soinside.com 2019 - 2024. All rights reserved.