मैं org.apache.http.client.HttpClient का उपयोग करता हूं। मेरे पास एक सवाल है जो इस वर्ग के उपयोग से संबंधित है।org.apache.http.client.HttpClient - प्रति अनुरोध एक?
क्या मुझे प्रति अनुरोध नया HttpClient
बनाना चाहिए (उदा। क्योंकि यह एक हल्का ऑब्जेक्ट है) या कई http अनुरोधों के लिए एक अद्वितीय उदाहरण का उपयोग करना बेहतर है (उदा।, क्योंकि बनाना/हटाना महंगा है)? यदि HttpClient
का केवल एक उदाहरण उपयोग किया जाना चाहिए, HttpClient
थ्रेड सुरक्षित है (उदा।, यह एक ही समय में कई http अनुरोधों को संभाल सकता है) या HttpClient
एस का पूल बनाने के लिए इस मामले में बेहतर है?
वास्तव में, मैं प्रति अनुरोध एक नया HttpClient बनाते हैं। मुझे संदेह है कि मुझे getConnectionManager().shutdown()
का उपयोग करके मेरे आवेदन के उपयोग के अंत में बंद होने के लिए एक अनूठा उदाहरण बनाना होगा, लेकिन मुझे नहीं पता कि मैं थ्रेड-आधारित समांतरता को बनाए रख सकता हूं या नहीं।
संकेत - 'DefaultHttpClient'' @ थ्रेडसेफ एनोटेशन के साथ आता है। –
ओह, अच्छा ... तो मैं तर्क देता हूं कि इसे प्रति बार कई http अनुरोधों को संभालना चाहिए। –
हां। [यहां और अधिक] (http://hc.apache.org/httpclient-3.x/performance.html)। 'HttpClient इंस्टेंस का पुन: उपयोग करें 'पर एक नज़र डालें। –