2013-03-11 157 views
8

启动应用程序,并立即关闭下来后Tomcat的,我收到的Tomcat以下两个警告:如何正确关闭Tomcat上的JAX-WS Spring应用程序?

Mrz 11, 2013 11:25:06 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks 
Schwerwiegend: The web application [] created a ThreadLocal with key of type [com.sun.xml.ws.api.server.ThreadLocalContainerResolver$1] (value [[email protected]]) and a value of type [com.sun.xml.ws.api.server.Container.NoneContainer] (value [[email protected]]) 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. 
Mrz 11, 2013 11:25:06 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks 
Schwerwiegend: The web application [] created a ThreadLocal with key of type [com.sun.xml.bind.v2.ClassFactory$1] (value [[email protected]]) and a value of type [java.util.WeakHashMap] (value [{class javax.xml.bind.annotat[email protected]9a5a11, class com.sun.xml.w[email protected]18f22cf, class java[email protected]368055, class [email protected], class com.sun.xml.[email protected]84a0f6, class com.sun.xm[email protected]1638d4f, class com.su[email protected]d259f1, class com.[email protected]f12fa}]) 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. 

Tomcat的拒绝关机和挂起。我正在使用com.sun.xml.ws.transport.http.servlet.WSSpringServlet。该webapp应该如何正确关闭?

+1

我遇到了同样的问题!你找到解决方案吗? – user3146733 2014-06-20 10:18:36

+0

@ user3146733不幸的不是。我写了一个killlistener来杀死剩下的线程。 – timomeinen 2014-06-20 14:09:57

+1

谢谢!你在这个shutdownlistener中写了什么?你在哪里叫这个听众? – user3146733 2014-06-20 14:26:17

回答

0

你可以去tomcat应用程序管理器,并找到应用程序先停止应用程序。然后关闭tomcat服务器。

+0

这不是重点:停止管理器内的应用程序将导致服务器挂起,因为仍然分配了ThreadLocals。我需要WSSpringServlet的关闭钩子。 – timomeinen 2013-09-23 09:34:01