Пользовательская RetryPolicy весной не повторяется - PullRequest
0 голосов
/ 14 января 2019

У меня есть следующий класс конфигурации:

@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;
        }
    });
  }
}

Эта проблема не имеет журнала ошибок, и повтор не происходит. Как я могу это исправить?

...