Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat在取消部署时抛出严重警告_Java_Web Services_Tomcat_Soap_Jax Ws - Fatal编程技术网

Java Tomcat在取消部署时抛出严重警告

Java Tomcat在取消部署时抛出严重警告,java,web-services,tomcat,soap,jax-ws,Java,Web Services,Tomcat,Soap,Jax Ws,Tomcat版本:7.0.41(也尝试了8.0.32) JRE:6u42 编写了一个非常简单的JAX-WS应用程序(作为测试)。当使用?wsdl?时,应用程序此时只显示wsdl文件,当给出SOAP请求时,我只返回一个字符串 @WebService public class SOAPWithWS { @WebMethod public String HelloTest(String sMessage) { return "Received : " + sMe

Tomcat版本:7.0.41(也尝试了8.0.32)
JRE:6u42
编写了一个非常简单的JAX-WS应用程序(作为测试)。当使用?wsdl?时,应用程序此时只显示wsdl文件,当给出SOAP请求时,我只返回一个字符串

@WebService
public class SOAPWithWS
{
    @WebMethod
    public String HelloTest(String sMessage)
    {
        return "Received : " + sMessage;
    }
}
当我尝试取消部署上下文时,它会给我一个警告,如下所示:

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服务器上不会发生同样的情况(只是尝试测试这个场景)。知道发生了什么以及如何消除此问题吗?

您的应用程序中存在内存泄漏。检查此主题,它会有所帮助


当JAX-WS实现作为相应项目的库添加时,会显示此警告

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


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

上述代码是我自己编写的。其他所有内容(其他LIB)都来自Metro 2.0的JAX-WS RI。Metro的JAX-WSRI有问题吗?是不是每个在Tomcat上使用Metro的JAX-WSRI的人都有这个问题?