引起:java.lang.OutOfMemoryError:java.lang上的java.lang.AbstractStringBuilder.append(未知来源)java.lang.AbstractStringBuilder.append(未知来源)的Java堆空间java.lang.StringBuffer.append(未知来源) com.ctc.wstx.sw.BufferingXmlWriter.flushBuffer(BufferingXmlWriter.java:1358)的com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:224)中的.io.StringWriter.write(未知来源) .ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:198)位于com.ctc.wstx.sw.BaseStreamWriter._finishDocument(BaseStreamWriter.java:1429)com.ctc.wstx.sw.BaseStreamWriter.close(BaseStreamWriter) .java:264)org.utils.JcoFunctionToXmlTransformer.transform上的org.codehaus.stax2.ri.Stax2EventWriterImpl.close(Stax2EventWriterImpl.java:178)(JcoFunctionToXmlTransformer.java:163
目标 - 将SAP以JcoTable形式返回的数据转换为XML.
问题 - java.lang.OutOfMemoryError:Java堆空间.
当数据非常庞大时,如果行数超过25,000,则会出现上述错误我们面临同样的问题,即使使用Jco API方法转换为XML并使用外部自定义代码(使用Stax API)也是如此逐节点读取并以XML格式流