Я делаю приложение с весенней загрузкой, в котором я хочу включить повторные попытки для определенных http-соединений. Я немного запутался в том, как это приложение должно сравнивать код состояния и запускать функцию для выполнения повторной попытки. Любое понимание этого было бы полезно, я предполагаю, что есть функция, которая извлекает коды состояния, но я не могу найти ее. Ниже мой класс, который я создал:
открытый класс HttpFailedConnectionRetryPolicy extends ExceptionClassifierRetryPolicy {
@Value("SomeValue")
private Integer maxAttempts;
public HttpFailedConnectionRetryPolicy() {
final NeverRetryPolicy doNotRetry = new NeverRetryPolicy();
final SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy();
simpleRetryPolicy.setMaxAttempts(maxAttempts);
this.setExceptionClassifier(new Classifier<Throwable, RetryPolicy>() {
@Override
public RetryPolicy classify(Throwable classifiable) {
if (condition) {
return simpleRetryPolicy;
}
return new NeverRetryPolicy();
}
});
}
}