что использует параметр IClientConfig? - PullRequest
0 голосов
/ 02 ноября 2018

Когда я смотрю на реализацию RibbonConfig в демонстрациях по всему Интернету, я замечаю, что они всегда используют параметр конфигурации IClientConfig, но фактически никогда не используют его. Например:

@Autowired
IClientConfig ribbonClientConfig;


@Bean
public IRule ribbonRule(IClientConfig config) { // This parameter is never used
    return new AvailabilityFilteringRule();
}

@Bean
public IPing ribbonPing(IClientConfig config) {
    return new DummyPing();
}

Ребята, вы знаете, для чего используется параметр конфигурации IClientConfig? В данном случае он не использовался внутри самого метода.

1 Ответ

0 голосов
/ 21 февраля 2019

Я нашел очень похожий пример в книге Моизеса Мацеро: Изучите микросервисы с помощью Spring Boot, практический подход к RESTful ... например:

public class RibbonConfiguration {

@Bean
public IPing ribbonPing(IClientConfig config) {
    return new PingUrl(false, "/health");
}

@Bean
public IRule ribbonRule(IClientConfig config) {
    return new AvailabilityFilteringRule();
}}

Область применения этой конфигурации изменяет стратегию балансировки нагрузки ленты по умолчанию. Более того в официальной документации я нашел это:

@Configuration
class DefaultRibbonConfig {
   @Bean
   public IRule ribbonRule() {
      return new BestAvailableRule();
   }

  @Bean
  public IPing ribbonPing() {
    return new PingUrl();
}

  @Bean
   public ServerList<Server> ribbonServerList(IClientConfig config) {
    return new RibbonClientDefaultConfigurationTestsConfig.BazServiceList(config);
}

 @Bean
 public ServerListSubsetFilter serverListFilter() {
     ServerListSubsetFilter filter = new ServerListSubsetFilter();
     return filter;
  }

}

Как видите, первые два метода без параметра IClientConfig, вот официальные документы: Настройка параметров по умолчанию для всех клиентов ленты

Итак, я вернулся к своему конфигурационному файлу и удалил параметр IClientConfig, и программа все еще работает. На мой взгляд, IClientConfig в данный момент бесполезен. Но вы можете сослаться на комментарий автора IClientConfig: IClientConfig

Определяет конфигурацию клиента, используемую различными API для инициализации клиентов или балансировщиков нагрузки. и для выполнения метода .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...