1
我想使用退避重试机制 发送一个http请求列表。有什么方法可以标记“只能在重试后成功”的任务吗?
有没有什么方法可以标记(带标志)只有重试后才能成功的请求?
我看到几个解决方案:
1)https://github.com/rholder/guava-retrying
2)https://developers.google.com/api-client-library/java/google-http-java-client/backoff
但看到没有办法这个萎靡不振的整合。在这些库中的任何其他库或想法?
我试图重写此方法,但也没有办法返回指示标志
@Beta
public class HttpBackOffUnsuccessfulResponseHandler implements HttpUnsuccessfulResponseHandler {
* {@inheritDoc}
*
* <p>
* Handles the request with {@link BackOff}. That means that if back-off is required a call to
* {@link Sleeper#sleep(long)} will be made.
* </p>
*/
public final boolean handleResponse(
HttpRequest request, HttpResponse response, boolean supportsRetry) throws IOException {
if (!supportsRetry) {
return false;
}
// check if back-off is required for this response
if (backOffRequired.isRequired(response)) {
try {
return BackOffUtils.next(sleeper, backOff);
} catch (InterruptedException exception) {
// ignore
}
}
return false;
}