替换所有服务的ConfigurationBasedServerList

时间:2017-05-25 11:11:44

标签: java spring-cloud netflix-zuul spring-cloud-netflix netflix-ribbon

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

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

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

我可以为每个服务添加以前的属性块,但这可能会无休止地增长。

有没有办法将MyCustomServerList声明为默认值?

我也尝试将此bean添加到我的@Configuration类中,但它似乎只在我第一次提出请求时才起作用:

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

1 个答案:

答案 0 :(得分:1)

请参阅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();
    }
}