2013-03-11 158 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