2012-08-03 15 views
5

है जब मैं से अपने आवेदन undeploy बिलाव, मैं बिलाव लॉग में त्रुटियों नीचे देखें। मामला क्या हो सकता है? मुझे इस मुद्दे को कैसे ठीक करना चाहिए।बिलाव फेंकता java.lang.UnsupportedOperationException जब मेरे आवेदन undeployed

---------------------------- टॉमकैट लॉग ---------------- -----------

SEVERE: The web application [/dfsmonitor] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [[email protected]]) and a value of type [com.sun.xml.stream.XMLReaderImpl] (value [[email protected]]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 
Jul 1, 2012 10:18:20 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap 
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:4913) 
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:932) 
at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1357) 
at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1328) 
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:326) 
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1094) 
at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1106) 
at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:468) 
at org.apache.catalina.core.StandardService.stop(StandardService.java:604) 
at org.apache.catalina.core.StandardServer.stop(StandardServer.java:788) 
at org.apache.catalina.startup.Catalina.stop(Catalina.java:662) 
at org.apache.catalina.startup.Catalina.start(Catalina.java:629) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
Jul 1, 2012 10:18:20 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap 
SEVERE: The web application [/dfsmonitor] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [[email protected]]) and a value of type [com.sun.xml.stream.writers.XMLStreamWriterImpl] (value [Unknown]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak. 
Jul 1, 2012 10:18:20 PM org.apache.coyote.http11.Http11AprProtocol destroy 
INFO: Stopping Coyote HTTP/1.1 on http-8080 

कृपया मुझे बताएं कि समस्या क्या हो सकती है।

उत्तर

0

आप XMLStreamWriterImpl उदाहरणों को थ्रेड स्थानीय में रखने से बच सकते हैं, इस तरह शट डाउन पर टॉमकैट को उन्हें हटाने में कोई समस्या नहीं होगी।

लेकिन वास्तव में एक सर्वलेट पर विनाश विधि को लागू करने के अलावा, या स्प्रिंग जैसे पर्यावरण में शट डाउन हुक पंजीकृत करने और अन्य मूल्यों को ट्रैक करने के अलावा जो आपने कभी थ्रेडलोकल्स में सेट किया है, ताकि आप उन्हें शट डाउन पर हटा सकें, टी आपको लगता है कि आपको इसके बारे में चिंता करने की ज़रूरत नहीं है। यद्यपि यह अजीब बात है कि आप या कोड का उपयोग कर रहे हैं, यह मान थ्रेडलोकल में संग्रहीत कर रहा है - आम तौर पर स्ट्रीम लेखकों को जल्दी से बनाया और नष्ट कर दिया जाता है और बहुत लंबे समय तक नहीं टिकते हैं।

+0

मुझे बिल्कुल वही समस्या है। मैं वास्तव में कुछ थ्रेडलोकल्स का उपयोग करता हूं, लेकिन उपयोग में कोई भी "XMLStreamWriterImpl" नहीं है। अधिक सटीक होने के लिए, "XMLStreamWriterImpl" शब्द मेरे कोड में बिल्कुल प्रकट नहीं होता है। तो मुझे समझ में नहीं आता क्यों अपवाद का। कोई विचार? – Asturio

संबंधित मुद्दे