【发布时间】:2014-08-08 14:12:27
【问题描述】:
我们有一个非常庞大的 xml 请求,其中包含近 10000 个 xml 元素,如下所示
<root>
<message></message>
<message></message>
<message></message>
.....
.....
.....
.....
<message></message>
<message></message>
<message></message>
</root>
在 mule 中,我们在 for-each 处理器中使用 xpath 提取器,这会花费大量时间。
有没有一种方法可以让我们在 mule 中更快地处理巨大的 xml 文件?
<foreach doc:name="Foreach" batchSize="1" collection="#[xpath://message]">
<!-- stuff -->
</foreach>
更改 batchSize 也无济于事。
有没有其他的处理方式让它更快?
【问题讨论】:
-
我认为拆分 xml 应该不会花费太多时间。它是您的处理 需要时间来处理 10,000 次。所以尝试使用 Collection Splitter 和 COllection Aggregator 的 FORK-JOIN 模式。这样处理 将在多个线程中发生,并且处理整个 10,000 个项目需要更少的时间。
-
抱歉提到了一些东西。在 for-each 中,我只做一个带有在线交换模式的 vm:outbound-endpoint。所以它不应该影响我猜的时间。
-
你在使用 EE 吗?如果是,你看过mulesoft.org/documentation/display/current/… 吗?
-
我错过了。会看的。谢谢。
标签: mule