【发布时间】:2017-07-28 19:50:56
【问题描述】:
我正在使用对象到 json 转换器。对象到 json 转换器的有效负载是巨大的。我收到 Java 堆错误。我尝试使用数据编织将有效负载转换为 JSON。即使这样我也收到 Java 堆错误。我尝试增加 permsize 和 maxpermsize vm 参数,但我仍然收到错误。我该如何解决这个问题?
【问题讨论】:
标签: mule mule-studio dataweave
我正在使用对象到 json 转换器。对象到 json 转换器的有效负载是巨大的。我收到 Java 堆错误。我尝试使用数据编织将有效负载转换为 JSON。即使这样我也收到 Java 堆错误。我尝试增加 permsize 和 maxpermsize vm 参数,但我仍然收到错误。我该如何解决这个问题?
【问题讨论】:
标签: mule mule-studio dataweave
在 dataweave 中尝试以下选项
1) 默认情况下 Dataweave 使用 mode="immediate" 尝试更改为 'mode="deferred"' 这允许 DataWeave output to remain outside of the heap。
2)增加dataweave内存-在系统属性中添加com.mulesoft.dw.buffersiz = ${Increase value as required by your case (bytes) }(默认值1572864)
如文档中所述,如果您运行的是 3.8.3v 版本或更低版本,dataweave 限制处理最多 2GB 的数据,但 3.8.4v 起的数据没有限制
请参阅此页面以获得更清晰的详细信息:https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-memory-management
【讨论】:
添加系统属性com.mulesoft.dw.buffersize=545454545。这会将有效负载缓冲到文件系统。您可以在启动服务器时将其设置为 VM 参数,或者在独立安装的情况下在 mule 应用程序属性中添加 wrapper.conf 文件。您可以根据负载来决定大小。
希望这会有所帮助。
【讨论】:
添加系统属性 com.mulesoft.dw.buffersize=545454545
【讨论】: