Как установить ServerListRefreshInterval в балансировщике нагрузки ленты?

Я использую Spring, Eureka и Ribbon. Я хочу изменить интервал обновления для ленты. Читая документацию, я узнал, что я должен установить следующее свойство:

my-service.ribbon.ServerListRefreshInterval=99999

Однако это не помогает, потому что когда я создаю балансировщик нагрузки, Spring использует следующий конструктор

   public DynamicServerListLoadBalancer(IClientConfig clientConfig, IRule rule, IPing ping, 
        ServerList<T> serverList, ServerListFilter<T> filter) {
    this(
            clientConfig,
            rule,
            ping,
            serverList,
            filter,
            new PollingServerListUpdater()
    );

И этот конструктор не использует мое свойство.


person Иван Гладуш    schedule 20.02.2018    source источник
comment
Какую версию spring-cloud-netflix вы используете?   -  person Arnaud    schedule 20.02.2018
comment
@Бергер Камден.SR7   -  person Иван Гладуш    schedule 20.02.2018


Ответы (1)


Я просмотрел эту тему: Как переопределить значение по умолчанию ленточного.serverListRefreshInterval в Spring Cloud Ribbon?

Проблема связана с этой ошибкой: ribbon.ServerListRefreshInterval игнорируется #1304.

Ошибка устранена в spring-cloud-netflix 1.3. .0.RC1 в марте 2017 г.

Вы используете Spring Cloud Camden.SR7. который использует Spring Cloud Netflix 1.2.7.RELEASE, где ошибка еще не исправлена.

Либо принудительно используйте spring-cloud-netflix 1.3.0 или выше, либо переключитесь на версию Spring Cloud, который содержит такую ​​​​зависимость, например, Spring Cloud Edgware.SR2 (Maven репозиторий), который использует Spring Cloud Netflix 1.4.3.RELEASE

person Arnaud    schedule 20.02.2018
comment
Спасибо. Это мне поможет, но теперь clientConfig не видит свойство my-service.ribbon.ServerListRefreshInterval? Можете ли вы помочь с этой проблемой? Я могу исправить это с помощью ConfigurationManager.loadPropertiesFromResources(sample-client.properties); но я думаю, что это не лучший способ - person Иван Гладуш; 20.02.2018
comment
Извините, я понятия не имею, почему ваши свойства не найдены. - person Arnaud; 20.02.2018
comment
Возможно, вы могли бы попробовать версию Spring Cloud, ближайшую к Camden.SR7, возможно, Dalston.RELEASE (Maven: mvnrepository.com/artifact/org.springframework.cloud/), который использует Spring Cloud Netflix 1.3.0: spring.io/blog/2017/04/12/spring-cloud-dalston-released - person Arnaud; 20.02.2018
comment
это не помогает - person Иван Гладуш; 20.02.2018