2010-06-22 9 views

उत्तर

4

maxIdleTime सेटिंग ऑपरेटिंग सिस्टम के सॉकेट हैंडलर को पास की जाती है और उस सॉकेट के लिए टाइमआउट मान बन जाती है। यदि कनेक्शन का दूसरा सिरा कनेक्शन को जिंदा रखता है, तो कनेक्शन ओएस द्वारा कभी बंद नहीं होगा। जेटी का थ्रेड तब तक इंतजार करेगा जब तक ओएस कनेक्शन को 'जीवित' मानता है।

3

अधिकतम समय मूल रूप से सॉकेट सॉटिमआउट में पारित किया गया था। हालांकि, अब जेटी असीमित है, इसका सख्ती से उपयोग नहीं किया जाता है क्योंकि सॉटिमआउट केवल अवरुद्ध संचालन पर लागू होता है। ,

1) अगर एक कनेक्शन निष्क्रिय (कोई जवाब नहीं बकाया है) कि समय समाप्त समाप्त हो रहा है तो अगर कनेक्शन बंद कर दिया जाएगा:

इसके बजाय टाइमआउट दो परिस्थितियों में प्रयोग किया जाता है।

2) यदि एक आईओ ऑपरेशन का प्रयास किया जा रहा है (आमतौर पर एक ब्लॉकिंग को सर्वलेट से पढ़ना या लिखना), तो टाइमआउट लगभग लागू होता है जैसे कि इसे अवरुद्ध सॉकेट पढ़ने के साथ कार्यान्वित किया गया था और यह एक ऐसा समय था - यानी यदि IO पढ़/लिखना टाइमआउट अवधि के लिए कोई प्रगति नहीं करता है, ऑपरेशन टाइमआउट अपवाद के साथ विफल हो जाएगा।

नोट घाट-9 में, maxIldeTime नाम दिया गया है IdleTimeout

+0

मैं अपने उपयोग के मामले के लिए काम नहीं कर सकते हैं इस सेटिंग http://stackoverflow.com/questions/36885803/jetty-interrupt-long-lasting-requests- टाइमआउट-पहले और https://github.com/graphhopper/graphhopper/issues/636 या मैंने आपके उत्तर को गलत समझा? – Karussell

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