【问题标题】:Java heap size error in mirth欢乐中的Java堆大小错误
【发布时间】:2017-06-01 12:36:14
【问题描述】:

我正在使用 mirth connect 3.0.3,并且我有一个几乎 85mb 大小的 .xml 文件,其中包含一些设备信息。我需要读取这个 .xml 文件并将该数据插入数据库(sql server)。

我面临的问题是,当我尝试读取显示 java 堆大小错误的数据时: 我将服务器内存增加到 1024mb,将客户端内存增加到 1024mb。 但它显示相同的错误。如果我将内存增加到更多,我将无法启动 mirth connect。

任何建议表示赞赏。 谢谢。

【问题讨论】:

  • 使用像 VisualVM 这样的分析器来查看堆中的内容,并确定是代码的问题还是 Mirth 的问题。

标签: java mirth


【解决方案1】:

XML 文件是否由多个单独的部分/数据片段组成,这些数据对于拆分为多个通道消息是有意义的?如果是这样,请考虑使用批处理适配器。 XML 数据类型具有根据元素/标签名称、节点深度/级别或 XPath 查询进行拆分的选项。所有这些选项目前仍然需要将消息完整地读入内存,但它仍然比将整个 XML 文档作为单个消息读入内存效率更高。

您还可以使用 JavaScript 批处理脚本,在这种情况下,您将获得一个 Java BufferedReader,并且可以使用该脚本读取文件并一次返回一条消息。在这种情况下,您不必将整个文件读入内存。

消息中是否有不需要在转换器中处理的大量数据?比如,嵌入图像等?如果是这样,请考虑使用附件处理程序。这样,您可以提取该数据并存储一次,而不是在整个消息生命周期中多次复制和存储(对于 Raw / Transformed / Encoded / 等)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-04
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多