gpt4 book ai didi

java - Apache Axis 1.4 内存不足错误 : Java heap space

转载 作者:行者123 更新时间:2023-12-01 22:17:41 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,该问题突然出现在使用 Apache Axis 1.4 向 Web 服务发出 SOAP 请求的客户端上。一年来一切都很顺利。随着时间的推移,响应的大小一直在缓慢增长,最近我在调用时收到相当随机的 OutOfMemoryError: Java heap space 异常。跟踪的顶部部分显示在底部。这种情况可能发生在 1/10 的调用中。如果发生这种情况并且我捕获了异常并再次尝试调用,那么在 100 种情况下 99 种情况下它会起作用。

当我第一次看到这一点时,我自然地认为需要增加我的最大堆大小。我正在运行 Tomcat 6,并将之前的 -Xmx1024M 设置更改为 -Xmx2048M(计算机上有足够的 RAM)。然而,这并没有改变任何事情。查看 Tomcat 的状态,堆似乎有足够的空间来容纳 SOAP 响应。该问题似乎也与可用的 PermGen 空间无关。

该错误与应用程序运行的时间无关,它可能在 Tomcat 启动时立即发生。因此它似乎与服务器上的总体负载无关。

有人对此有什么想法吗?我是否正在处理 Axis 中的已知错误?我发现一些情况下,人们在通过 SOAP 发送巨大附件时遇到 OutOfMemoryError 异常,但是,这不是我正在做的事情。

我正在为 SOAP Web 服务使用wrapped/literal。

Exception in thread "Thread-6" java.lang.OutOfMemoryError: Java heap space
at org.apache.axis.message.SAX2EventRecorder$objArrayVector.add(SAX2EventRecorder.java:254)
at org.apache.axis.message.SAX2EventRecorder.newElement(SAX2EventRecorder.java:136)
at org.apache.axis.encoding.DeserializationContext.pushNewElement(DeserializationContext.java:769)
at org.apache.axis.message.SOAPHandler.startElement(SOAPHandler.java:94)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:504)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2732)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)

最佳答案

从表面上看,我认为问题不在于 Axis。您是否尝试过进行内存分析?使用内存分析器工具 (MAT) 等工具。

关于java - Apache Axis 1.4 内存不足错误 : Java heap space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5580555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com