对于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();
}
}