Как установить значение времени ожидания для сервера конфигурации Spring Boot - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть простая настройка для с пружинной загрузкой ConfigServer и клиентской службой, которая вызывает ConfigServer для получения сведений о файле конфигурации из GIT.

Мой сервер Config работает правильно, и я могу получить файл проп в форме GIT.Но когда я пытаюсь запустить потребительский сервер, который получит информацию от сервера ConfigServer, я получаю одну ошибку ... Ошибка выглядит следующим образом ...

Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available

localhost: 8888 - это URL-адрес для моегоconfigServer, который я могу вызвать напрямую из браузера, но так как у меня большой проп-файл, его извлечение из GIT занимает некоторое время.

Конфигурация в configServer (application.properties)

spring.application.name=config-server
server.port=8888
spring.cloud.config.server.git.uri=https://github.com/shibajiJava/MicroServiceDemo
spring.cloud.config.server.bootstrap=true

Конфигурация в Consumer Service (bootstrap.properties)

spring.application.name=configuration-service
spring.cloud.config.uri=http://localhost:8888
spring.cloud.config.server.bootstrap=true

Есть ли что-то, чтобы указать значение timeOut впотребительский конец?Заранее спасибо ...

Ответы [ 2 ]

0 голосов
/ 21 августа 2019

В составе клиентской документации Spring Config есть два свойства, доступных для настройки тайм-аутов.

If you want to configure timeout thresholds:

Read timeouts can be configured by using the property spring.cloud.config.request-read-timeout.

Connection timeouts can be configured by using the property spring.cloud.config.request-connect-timeout.

Источник

0 голосов
/ 25 сентября 2018

Конфигурация на стороне сервера:

  • Попробуйте установить spring.cloud.config.server.git.timeout на желаемое значение.
  • Попробуйте установить server.connection-timeout на желаемое значение.

Конфигурация на стороне клиента:

Мне неизвестно о какой-либо собственности, которая могла бы выполнять работу.Возможно, вам придется переопределить значение по умолчанию RestTemplate, которое выполняет запрос.Чтобы сделать это, создайте RestTemplate с желаемым временем ожидания и введите его вместо значения по умолчанию (мое лучшее предположение было бы с правыми @Qualifier и @Primary поверх этого, но вы должны проверить источникии подтвердите, что именно так вводится шаблон по умолчанию.)

@Configuration
public class ConsumerConfig {

    @Bean
    @Primary
    @Qualifier("rightQualifierHere")
    public RestTemplate configRestTemplate() {
        return new RestTemplateBuilder()
               .setReadTimeout(readTimeout)
               .setConnectTimeout(connectionTimeout)
               .build();
    }

}

Документация:

...