首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tomcat在未部署时抛出严重警告。

Tomcat在未部署时抛出严重警告。
EN

Stack Overflow用户
提问于 2016-03-09 14:13:34
回答 2查看 2K关注 0票数 2

Tomcat版本: 7.0.41 (也尝试了8.0.32)

JRE: 6u42

编写了一个非常简单的JAX应用程序(作为测试)。当使用"? wsdl“时,当给出SOAP请求时,应用程序只显示wsdl文件,只返回一个字符串。

代码语言:javascript
复制
@WebService
public class SOAPWithWS
{
    @WebMethod
    public String HelloTest(String sMessage)
    {
        return "Received : " + sMessage;
    }
}

当我试图取消部署上下文时,它会给我一个警告,如下所示:

代码语言:javascript
复制
Mar 09, 2016 1:54:24 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/WS] created a ThreadLocal with key of type [com.sun.xml.bind.v2.runtime.Coordinator$1] (value [com.sun.xml.bind.v2.runtime.Coordinator$1@3e26faf2]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@712545be]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Mar 09, 2016 1:54:24 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/WS] created a ThreadLocal with key of type [com.sun.xml.bind.v2.ClassFactory$1] (value [com.sun.xml.bind.v2.ClassFactory$1@4605f6fa]) and a value of type [java.util.WeakHashMap] (value [{class com.sun.xml.ws.runtime.config.TubelineDefinition=java.lang.ref.WeakReference@3199bb00, class com.sun.xml.ws.runtime.config.TubeFactoryConfig=java.lang.ref.WeakReference@63c41670, class javax.xml.bind.annotation.adapters.CollapsedStringAdapter=java.lang.ref.WeakReference@5e9d463b, class com.sun.xml.ws.runtime.config.Tubelines=java.lang.ref.WeakReference@276dfc04, class javax.xml.bind.annotation.W3CDomHandler=java.lang.ref.WeakReference@25bc7ed5, class java.util.ArrayList=java.lang.ref.WeakReference@7a2ae54d, class com.sun.xml.ws.runtime.config.MetroConfig=java.lang.ref.WeakReference@163460e4, class com.sun.xml.ws.runtime.config.TubeFactoryList=java.lang.ref.WeakReference@48c5241f}]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
Mar 09, 2016 1:54:24 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/WS] created a ThreadLocal with key of type [org.glassfish.gmbal.generic.OperationTracer$1] (value [org.glassfish.gmbal.generic.OperationTracer$1@6c6948c]) and a value of type [java.util.ArrayList] (value [[]]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

每次我测试时都会发生这种事。同样的情况在GlassFish服务器上没有发生(只是尝试测试这个场景)。知道发生了什么事,以及如何消除这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-04 14:51:44

当将JAX实现添加为相应项目的库时,将显示此警告。

与其将JAX实现添加到项目中,不如将其添加到Tomcat本身的库列表中。在Linux上,如果Tomcat安装在/usr/java/Tomcat-7中,那么JAX库必须包含在/usr/java/Tomcat-7/lib/中。

如果不想直接将库添加到Tomcat中,那么确保在上下文未部署时完全重新启动Tomcat。如果每次在上下文未部署时重新启动Tomcat,则可以安全地忽略警告。

票数 0
EN

Stack Overflow用户

发布于 2016-03-09 16:13:17

您的应用程序中有内存泄漏。检查这个话题,可能会有帮助;

What are these warnings in catalina.out?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35893990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档