Как настроить выборку повторных настроек при загрузке? - PullRequest
0 голосов
/ 15 мая 2018

У меня есть сервер конфигурации, и приложение получает конфиги с этого сервера. Я хочу настроить механизм повторных загрузок. Если сервер конфигурации недоступен, приложение отправляет запросы в течение 10 минут.

Весной я нашел следующие конфиги

spring.cloud.config.uri=http://localhost:9090
spring.cloud.config.fail-fast=true
spring.cloud.config.retry.max-interval=10000
spring.cloud.config.retry.max-attempts=2000

Но они ничего не меняют. Мое приложение не выполняет повторных запросов, просто происходит сбой с

Caused by: java.net.ConnectException: Connection refused: connect 

(сервер конфигурации в этот момент не работает)

Что я делаю не так? Есть способ решить мою проблему?

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

Я решил свою проблему, добавив следующий @Bean в контекст

@Bean
    public RetryOperationsInterceptor configServerRetryInterceptor(RetryProperties properties) {
        return RetryInterceptorBuilder
                .stateless()
                .backOffOptions(properties.getInitialInterval(),
                        properties.getMultiplier(),
                        properties.getMaxInterval())
                .maxAttempts(properties.getMaxAttempts()).build();
    }
0 голосов
/ 02 марта 2019

основываясь на информации в вопросе, я думаю, что вам не хватает следующих зависимостей от вашего пути к классам:

        <!-- for auto retry -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-aop</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.retry</groupId>
        <artifactId>spring-retry</artifactId>
        <version>1.2.4.RELEASE</version>
    </dependency>
    <!-- for auto retry -->
0 голосов
/ 15 мая 2018

Вы установили spring.cloud.config.fail-fast в true. В соответствии с документацией это приведет к остановке вашего приложения за исключением и не повторит подключение.

Источник: https://cloud.spring.io/spring-cloud-config/multi/multi__spring_cloud_config_client.html#config-client-fail-fast

...