मैं वर्तमान में उपयोग कर रहा हूँ तक पहुँच जाता है httpclient 4 इस तरह एक दूरस्थ सर्वर के लिए एक पोस्ट अनुरोध बनाने के लिए:समापन HttpClient timout पहले कनेक्शन
HttpResponse response = httpClient.execute(request);
InputStream is = response.getEntity().getContent();
इसके बारे में एक स्वयं के लिए कॉन्फ़िगर राशि लेता है जब सर्वर पहुंच योग्य नहीं है कनेक्शन से पहले समय वास्तव में बाहर समय। उस पेरीओड के दौरान निष्पादन() एक अवरुद्ध कॉल है।
जो मैं ढूंढ रहा हूं वह प्राकृतिक समय समाप्ति से पहले निष्पादन() को रद्द करने का एक तरीका है ताकि मेरा धागा निष्पादित() को चल रहा हो और अब कृपा से समाप्त न हो जाए।
मैं
request.abort();
और
httpClient.getConnectionManager().shutdown();
की कोशिश की है लेकिन इन कॉल के दोनों बाधित ना करें निष्पादित()। चल रहे कनेक्शन प्रयास को रद्द करने का कोई और तरीका है?
आई) को रोकने के लिए अवरुद्ध अमल (किसी भी अब इंतजार नहीं एक तरह से देख रहा हूँ। – Moritz
भविष्य का प्रभाव "ब्लॉक" करेगा लेकिन कॉलिंग थ्रेड एमसीईएस के सटीक माप और फिर "टाइमआउट" के लिए इंतजार कर सकता है और इसके आनंददायक तरीके से जा सकता है। – alphazero
मैं वर्तमान थ्रेड को अवरुद्ध करने से निष्पादित() को रोकने के लिए एक निश्चित मात्रा का इंतजार नहीं करना चाहता हूं। – Moritz