У меня есть следующий класс конфигурации:
@Configuration
public class MyAppConfig {
@Value("${retry.backoff}")
private String retryBackoff;
@Bean
public RetryTemplate retryTemplate() {
RetryTemplate retryTemplate = new RetryTemplate();
FixedBackOffPolicy fixedBackOffPolicy = new FixedBackOffPolicy();
fixedBackOffPolicy.setBackOffPeriod(Long.parseLong(retryBackoff));
retryTemplate.setBackOffPolicy(fixedBackOffPolicy);
retryTemplate.setRetryPolicy(new CustomRetryPolicy());
return retryTemplate;
}
}
Ниже представлен компонент, который я создал для своей пользовательской политики повторов. Цель этой политики - улучшить ее, чтобы повторить попытку только при возникновении определенных исключений HttpClientErrorExceptions.
@Component
public class CustomRetryPolicy extends ExceptionClassifierRetryPolicy {
public void CustomRetryPolicy() {
final SimpleRetryPolicy simpleRetryPolicy = new SimpleRetryPolicy();
simpleRetryPolicy.setMaxAttempts(5);
this.setExceptionClassifier(new Classifier<Throwable, RetryPolicy>() {
@Override
public RetryPolicy classify(Throwable classifiable) {
if (classifiable instanceof HttpClientErrorException) {
return simpleRetryPolicy;
}
return simpleRetryPolicy;
}
});
}
}
Эта проблема не имеет журнала ошибок, и повтор не происходит. Как я могу это исправить?