对于Ribbon,如果要为特定服务使用自定义ServerList实现而不是默认的ConfigurationBasedServerList,则可以在应用程序配置文件中执行以下操作:

my-service:
  ribbon:
    NIWSServerListClassName: com.myapp.MyCustomServerList


我的问题是我想为声明使用ConfigurationBasedServerList的所有服务替换默认的MyCustomServerList

我可以为每个服务添加先前的属性块,但是它会不断增长。

有没有一种方法可以将MyCustomServerList声明为默认值?

我也尝试过将此bean添加到我的@Configuration类中,但是它似乎仅在我第一次执行请求时起作用:

@Bean
public ServerList<Server> ribbonServerList() {
    return new MyCustomServerList();
}

最佳答案

http://cloud.spring.io/spring-cloud-static/Dalston.SR1/#_customizing_the_ribbon_client

@RibbonClients(defaultConfiguration=MyConfig.class)

//...

class MyConfig {
    @Bean
    public ServerList<Server> ribbonServerList() {
        return new MyCustomServerList();
    }
}

09-05 10:44