Java 欢笑中的堆大小错误
Java heap size error in mirth
我使用的是 mirth connect 3.0.3,我有一个 .xml 文件,大小接近 85mb,包含一些设备信息。我需要阅读这个 .xml 文件并将该数据插入数据库(sql 服务器)。
我面临的问题是当我尝试读取它显示的数据时 java 堆大小错误:
我将服务器内存增加到 1024mb,将客户端内存增加到 1024mb。
但它显示相同的错误。如果我将内存增加到更多,我将无法启动 mirth connect。
如有任何建议,我们将不胜感激。
谢谢
XML 文件是否由多个单独的 sections/pieces 数据组成,可以拆分成多个频道消息?如果是这样,请考虑使用 Batch Adapter。 XML 数据类型具有基于 element/tag 名称、节点 depth/level 或 XPath 查询进行拆分的选项。所有这些选项目前仍然需要将消息完整地读入内存,但它仍然比将整个 XML 文档作为单个消息读入更节省内存。
您还可以使用 JavaScript 批处理脚本,在这种情况下,您会得到一个 Java BufferedReader,并且可以使用该脚本来读取文件和 return一次一条消息。在这种情况下,您将不必将整个文件读入内存。
消息中是否有不需要在转换器中处理的大量数据?比如,嵌入图像等?如果是这样,请考虑使用附件处理程序。这样你就可以提取数据并存储一次,而不是在整个消息生命周期中多次复制和存储数据(对于原始/转换/编码等)。
我使用的是 mirth connect 3.0.3,我有一个 .xml 文件,大小接近 85mb,包含一些设备信息。我需要阅读这个 .xml 文件并将该数据插入数据库(sql 服务器)。
我面临的问题是当我尝试读取它显示的数据时 java 堆大小错误: 我将服务器内存增加到 1024mb,将客户端内存增加到 1024mb。 但它显示相同的错误。如果我将内存增加到更多,我将无法启动 mirth connect。
如有任何建议,我们将不胜感激。 谢谢
XML 文件是否由多个单独的 sections/pieces 数据组成,可以拆分成多个频道消息?如果是这样,请考虑使用 Batch Adapter。 XML 数据类型具有基于 element/tag 名称、节点 depth/level 或 XPath 查询进行拆分的选项。所有这些选项目前仍然需要将消息完整地读入内存,但它仍然比将整个 XML 文档作为单个消息读入更节省内存。
您还可以使用 JavaScript 批处理脚本,在这种情况下,您会得到一个 Java BufferedReader,并且可以使用该脚本来读取文件和 return一次一条消息。在这种情况下,您将不必将整个文件读入内存。
消息中是否有不需要在转换器中处理的大量数据?比如,嵌入图像等?如果是这样,请考虑使用附件处理程序。这样你就可以提取数据并存储一次,而不是在整个消息生命周期中多次复制和存储数据(对于原始/转换/编码等)。