首页 > 解决方案 > DataWeave 与 Java 性能

问题描述

我需要迭代近百万条记录。当前代码是用 Dataweave 编写的,带有过滤器和排序逻辑。但是,我看到了性能问题。我正在考虑使用 Java 组件将此 DataWeave 逻辑转换为 Java,并查看这是否会提高性能。

如何提高代码的性能?

标签: muleesbdataweavemule-esb

解决方案


如果您正在使用Global functions或使用'p()' functions. 如果您的 dwl 中有任何此类功能,请避免使用它。

由于您正在处理大量记录,如果记录相同,您可以使用scatter-gather模式并利用记录的异步处理。您可以通过配置执行转换/过滤逻辑的线程池来进一步调整性能。

对于分散聚集模式的实现,您可以参考此链接。您在数据编织中实现的订单逻辑可以移动到自定义聚合器,您可以根据自定义逻辑重新排序记录

如果没有任何帮助,请考虑在您的自定义 Java 组件中使用 Java8 Streams API 来过滤和排序记录。


推荐阅读