Ошибка при использовании @CircuitBreaker в приложении - PullRequest
0 голосов
/ 05 мая 2020

Я использую @CircuitBreaker из spring-retry в моем приложении.

Моя служба выглядит так

    @CircuitBreaker(maxAttempts = 8, openTimeout = 5000, resetTimeout = 10000l,value= {HttpServerErrorException.class, ResourceAccessException.class})
    public customer getcustomer(String abc) { 
        LOGGER.info("Trying to fetch customer details.");
        throw new HttpServerErrorException(HttpStatus.INTERNAL_SERVER_ERROR);
     }
    @Recover
    public customer fallbackForRecover(String abc){
        LOGGER.info("Recovering - returning safe value");
        return null;
    }

Примечание

Я добавил @EnableRetry в свой основной класс (класс с @SpringBootApplication).

Проблема под рукой

Когда я пытаюсь запустить, он пытается только один раз. Я хочу, чтобы он повторил попытку для maxRetries. Далее идет восстановление для всех исключений, а не только для указанного исключения.

Сомнение

При просмотре журналов я вижу StatefulRetryOperationsInterceptor - Выполнение проксированного метода при повторной попытке с отслеживанием состояния : ... возможно ли, что я каким-то образом смогу установить этот перехватчик или что-то в этом роде (для таких значений, как политика отсрочки). 1026 * 1027 1029 * Есть ли пробел в моем понимании?

...