2011-09-26 12 views
6

मुझे टॉमकैट सर्वर के साथ कोई समस्या है जो शानदार रूप से बंद करने में असमर्थ है। के बाद मैं बंद आदेश जारी किए हैं मैं एक धागा डंप ले लिया है, और यह इस तरह दिखता है:"पूल" से शुरू होने वाले जावा थ्रेड क्या हैं?

http://pastebin.com/7SW4wZN9

धागा जो मेरा मानना ​​है कि "संदेह" है कि वी एम को बंद करने की अनुमति नहीं है है एक है "पूल -4-थ्रेड -1" नाम दिया गया। उनमें से बाकी या तो डेमॉन धागे या आंतरिक वीएम धागे हैं। यह पता लगाने की कोशिश करते हुए कि यह धागा क्या है, मैंने देखा कि वहां अन्य जावा प्रोग्राम हैं जो समान नामों वाले थ्रेड बनाते हैं (उदाहरण के लिए, JVisualVM ऐसे धागे बनाता है)।

तो मुझे आश्चर्य है कि कोई और जानता है कि यह धागा क्या है और यह कैसे बनाया जा सकता है।

+0

इसका मतलब क्या है "शानदार ढंग से शर्मनाक करने में असमर्थ"? – Bozho

+0

इसका मतलब है कि मैं shutdown.sh चलाने के बाद VM समाप्त नहीं होता है। इसे ओएस स्तर पर एक हत्या संकेत की जरूरत है। – mavroprovato

उत्तर

12

ये धागे शायद आपके निष्पादक सेवा द्वारा बनाए गए हैं जिन्हें आपने कहीं भी अपने कोड में बनाया है (सीधे या अप्रत्यक्ष रूप से लाइब्रेरी के माध्यम से) और इसे बंद करने की आवश्यकता है (उदाहरण के लिए ServletContextListener में)।

+0

yup, true। +1 .. – Bozho

+0

आप सही हैं, मैंने एक निष्पादक सेवा के साथ एक टेस्ट क्लास बनाया है और इस नाम के साथ थ्रेड बनाया गया था। इस पर कोई विचार है कि मैं कैसे कर सकता हूं ... इस निष्पादक सेवा का शिकार करें और इसे मार दें? – mavroprovato

+0

मुश्किल, क्योंकि वे डिफ़ॉल्ट नाम का उपयोग कर रहे हैं, जो इसे दूर नहीं करता है। ऐप चल रहा है, जबकि आप स्टैक ट्रेस डंप कर सकते हैं, शायद आप उनमें से एक को वास्तविक काम कर सकते हैं। उसे कुछ वर्ग के नाम देना चाहिए। आप किस तरह के पुस्तकालयों का उपयोग कर रहे हैं? कुछ भी जो पृष्ठभूमि धागे के साथ काम कर सकता है? – Thilo

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