2017-12-12 17 views
0

Apache HttpClient 4.5.3が提供するServiceUnavailableRetryStrategyインターフェースを拡張しました。私は、エラーステータスコード(4XXまたは5xxの)であることからstatusCodeの値を期待していたいつServiceUnavailableRetryStrategyがapacheのために呼び出されるのですか?httpclient

​​

次のように

IはretryRequest法を拡張しました。しかし、私は応答コードを受け取っているようです。

紛失しているものがありますか? ドキュメントには、Service Unavailable(503)レスポンスを処理するための記述が記載されています。したがって、このメソッドに到達するための200応答はありません。間違っている可能性がどのように 任意の提案は、ほとんどの

答えて

0

をいただければ幸いServiceUnavailableRetryStrategyが、それはエラーコードの任意の並べ替えのために再試行する必要があるかどうかを判断するために、フレームワークによって使用される、より一般的なインタフェースであるようです。 DefaultServiceUnavailableRetryStrategyと呼ばれるデフォルトの実装があり、それは503エラーコードのチェックだけです。つまり、独自の実装を提供する場合は、関心のあるエラーコード(この場合は503)と適切な応答を確認する必要があります。明確化のための@zaerymoghaddam

return executionCount <= maxRetries && 
    response.getStatusLine().getStatusCode() == HttpStatus.SC_SERVICE_UNAVAILABLE; 
+0

ありがとう:あなたはDefaultServiceUnavailableRetryStrategyのソースコードをチェックする場合は、それが明示的としてステータスコードをチェックしていることがわかります –

関連する問題