欢乐中的Java堆大小错误

时间:2017-06-01 12:36:15

标签: java mirth

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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