【发布时间】:2020-05-03 05:30:09
【问题描述】:
我有多个记录:
{
"item_id":1",
key1: "data1"
}
{
item_id:2
key1: "data1"
}
{
item_id:2
key1: "data1"
}
{
item_id:1
key1: "data1"
}
我不想按顺序处理它们。可能有超过 200 条记录。我应该使用 for-each parallel 还是 scatter-gather 来处理它们。根据我的要求,哪种方法最好。 我不需要累积响应,但是如果在处理(根据if条件为每条记录打一个api)任何一条记录时出现异常,其他记录的处理必须不受影响。
【问题讨论】:
-
我会选择使用 George 提供的内容将其推送到 VM 队列。但是,如果您使用多线程的目的不是提高性能,而是避免在其中一条记录失败时引发错误,我建议您在具有 try/catch 范围的普通 for-each 上执行此操作。这比过度设计您的需求要简单得多,也更容易排除故障。
-
@oim 我想提高性能,但我之前没有使用过 VM 连接器。你能分享任何例子吗?
标签: multithreading esb anypoint-studio dataweave mule4