डिफ़ॉल्ट रूप से वेबलोगिक 15 मिनट (600 एस) के बाद थ्रेड फेंक देता है, यह StuckThreadMaxTime
पैरामीटर द्वारा नियंत्रित होता है। हालांकि, मुझे "अटकलें" को परिभाषित करने के तरीके के बारे में अधिक जानकारी नहीं मिल रही है। विशेष रूप से:वेबलॉगिक थक संरक्षण
- वह बिंदु क्या है जिस पर 15 मिनट उलटी गिनती शुरू होती है। अनुरोध प्रसंस्करण शुरू? अंतिम
wait()
-जैसी विधि? कुछ और? - क्या यह केवल अनुरोध-प्रसंस्करण धागे या सभी धागे पर लागू होता है? अर्थात। क्या एक अनुरोध-प्रसंस्करण धागा एक लंबे कार्य के लिए एक कार्यकर्ता थ्रेड को बढ़ाकर इस सुरक्षा को "बचाना" कर सकता है? विशेष रूप से, क्या यह 15 मिनट उलटी गिनती के बिना ऐसे कार्यकर्ता को प्रतिक्रिया लिखने का प्रतिनिधि दे सकता है?
मेरा उपयोगकेस एक अनुमति प्रणाली के माध्यम से बड़ी फ़ाइलों का डाउनलोड है। चूंकि किसी उपयोगकर्ता को प्रमाणीकृत होने की आवश्यकता होती है और फ़ाइल देखने की अनुमति होती है, इसलिए मैं इसे सरल HTTP सर्वर पर छोड़ नहीं सकता (या कम से कम नहीं जानता) अमरीका की एक मूल जनजाति। और क्योंकि फाइलें बड़ी हो सकती हैं, डाउनलोड (कम से कम सिद्धांत में) 15 मिनट से अधिक समय ले सकता है।
ठीक है, लेकिन जैसा कि मुझे पता है कि यह पूरे एप्लिकेशन को फिर से तैनात कर सकता है यदि बहुत सारे थके हुए धागे हैं, नहीं? मेरे पास सत्र समय समाप्ति के साथ मिश्रित चीजें हो सकती हैं - हमें अतीत में कुछ समस्याएं थीं। फाइलों के बारे में - एप्लिकेशन इतना बड़ा और छोटी है कि अनुकूलित करने पर खर्च करने का कोई समय नहीं है क्योंकि हमेशा अधिक दबाव वाले मुद्दे होते हैं। – doublep
यदि सर्वर बहुत सारे अटक गए धागे हैं तो सर्वर नए अनुरोधों का जवाब देना बंद कर देगा - लेकिन आपके मामले में वे वास्तव में 'अटक गए' नहीं हैं बल्कि लंबे अनुरोधों को संसाधित कर रहे हैं। एक बेहतर तरीका है FileDownloadServlet को अपना स्वयं का निष्पादित थ्रेड पूल देना - WL10 पर यह एक समर्पित वर्कमैनेजर होगा। यह सुनिश्चित करता है कि डाउनलोड में फंसे/प्रभावित किसी भी थ्रेड सामान्य सर्वर प्रसंस्करण के सामान्य अनुरोधों को प्रभावित नहीं करेगा। अधिक के लिए यहां देखें - http://download.oracle.com/docs/cd/E11035_01/wls100/config_wls/self_tuned.html#wp1059038। आप उस सर्वलेट के लिए प्रेषण नीति को परिभाषित कर सकते हैं। – JoseK
उत्तर और स्पष्टीकरण के लिए धन्यवाद। – doublep