ber*_*tie 6 java apache httpclient apache-httpclient-4.x
我希望能够处理这种情况,我希望它在延迟后重试,但似乎我在ServiceUnavailableRetryStrategy中设置的延迟没有发生:
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 [scheduler-15] INFO oahttp.impl.execchain.RetryExec - 重试请求{} - > http://testing.com:80
我同时设置了ServiceUnavailableRetryStrategy和HttpRequestRetryHandler.从两者看来,似乎只有ServiceUnavailableRetryStrategy有一个延迟选项,我没有看到httpRequestRetryHandler的任何延迟选项.
那么在上面的NoHttpResponseException的情况下,实际使用了哪一个?这两者有什么区别?
HttpRequestRetryHandler表示一种策略,用于确定在I/O错误(未从服务器收到HTTP响应)的情况下请求是否可安全重试.
ServiceUnavailableRetryStrategy表示在服务暂时不可用的情况下确定是否应该在一段时间之后重试请求的策略(响应状态503).
在5.0中,这两个接口很可能被单个策略接口取代.
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |