2014-06-14 5 views
5

मैं इस स्थिति है जहाँ मैं इसे थोड़ी देर बाद पुन: प्रयास करना चाहते हैं के साथ सौदा करने की उम्मीद कर रहा था, लेकिन यह है कि देरी है कि मैं ServiceUnavailableRetryStrategy में सेट फ्लॉप जगह ले लगता है:एचटीपी क्लाइंट: ServiceUnavailableRetryStrategy और HttpRequestRetryHandler के बीच क्या अंतर है?

19: 42: 29.046 [scheduler- 15] INFO oahttp.impl.execchain.RetryExec - I/O अपवाद (org.apache.http.NoHttpResponseException) प्रोसेसिंग अनुरोध {} ->http://testing.com:80 पर प्रोसेसिंग अनुरोध: लक्ष्य सर्वर प्रतिक्रिया देने में विफल रहा 19: 42: 29.049 [शेड्यूलर -15] INFO oahttp.impl.execchain.RetryExec - {} ->http://testing.com:80

पर अनुरोध का पुनः प्रयास

मेरे पास ServiceUnavailableRetryStrategy और HttpRequestRetryHandler सेट दोनों हैं। और दोनों से, ऐसा लगता है कि केवल ServiceUnavailableRetryStrategy में देरी विकल्प है, जहां मुझे httpRequestRetryHandler के लिए कोई देरी विकल्प नहीं दिखाई देता है।

तो उपरोक्त NoHttpResponseException के मामले में, वास्तव में किस का उपयोग किया जाता है? और उन दोनों के बीच क्या अंतर है?

उत्तर

6
  • HttpRequestRetryHandler का निर्धारण किया जाए या नहीं अनुरोध एक I/O त्रुटि के मामले में पुन: प्रयास करने के लिए सुरक्षित है (कोई HTTP प्रतिसाद सर्वर से प्राप्त किया गया है) एक रणनीति का प्रतिनिधित्व करता है।

  • सेवा अनुपलब्ध RetryStrategy यह निर्धारित करने वाली रणनीति का प्रतिनिधित्व करता है कि सेवा अस्थायी रूप से अनुपलब्ध होने पर अनुरोध के समय थोड़ी देर बाद अनुरोध किया जाना चाहिए या नहीं (प्रतिक्रिया स्थिति 503)।

5.0 में दो इंटरफेस को एक ही रणनीति इंटरफ़ेस द्वारा प्रतिस्थापित करने की संभावना है।

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