gpt4 book ai didi

java - 如何删除错误 UnsupportedOperationException 和可能的内存泄漏

转载 作者:行者123 更新时间:2023-11-28 22:21:26 25 4
gpt4 key购买 nike

我一直在寻找,但没有找到可以帮助我解决这个问题的完美方法。我有 Web 服务并正在使用 JAX-WS 生成 stub 。为了访问 Web 服务的方法,我编写了一个类,其中所有方法都是静态的,如

public static String getLocation()
{
//call to the web service
}

我指定静态是因为我想确认这不是我问题的根本原因。现在,当我检查 Tomcat 目录中的日志时,catilina 日志显示了一些像这样的东西......当我启动或关闭 tomcat 服务器时发生此错误

Mar 18, 2010 11:13:07 PM org.apache.catalina.core.ApplicationContext log
INFO: HTMLManager: stop: Stopping web application at '/testWeb'
Mar 18, 2010 11:13:07 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: A web application appears to have started a thread named [leakingThread] but has failed to stop it. This is very likely to create a memory leak.

我看到的另一个错误是

SEVERE: Unable to determine string representation of value of type      [com.sun.xml.stream.writers.XMLStreamWriterImpl]
java.lang.UnsupportedOperationException
at com.sun.xml.stream.writers.XMLStreamWriterImpl.entrySet (XMLStreamWriterImpl.java:2134)
at java.util.AbstractMap.toString(AbstractMap.java:478)
at org.apache.catalina.loader.WebappClassLoader.clearThreadLocalMap(WebappClassLoader.java:2433)
at org.apache.catalina.loader.WebappClassLoader.clearReferencesThreadLocals(WebappClassLoader.java:2349)
at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1921)
at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1833)
at org.apache.catalina.loader.WebappLoader.stop(WebappLoader.java:740)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4920)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:936)

请任何人帮助我清除这些错误。提前致谢。

最佳答案

我的诊断:你在本地线程中有一个Map实现,这个map不支持操作entrySet,它是由Map#触发的到字符串。准确地说,你的异常是从 this line of code 抛出的。在 com.sun.xml.internal.stream.writers.XMLStreamWriterImpl 中。

Tomcat 清除本地线程的代码非常不幸地被编写为无条件地调用对象上的toString 只是为了能够记录它们如果调试级别打开

如果您不能为此摆脱使用线程本地,则解决此问题可能会遇到很多麻烦。

顺便说一句,您的线程泄漏很可能是由于上述错误导致清理失败的结果。

关于java - 如何删除错误 UnsupportedOperationException 和可能的内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585516/

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