Ich kann keine @FeignClient
mit einer Liste von Servern konfigurieren zu verwenden. Ich verwende Spring Cloud Netflix, aber dieser spezielle Dienst (foo-service
) registriert sich nicht bei Eureka. Aus diesem Grund muss ich eine Liste von Servern für foo-service
in einer YML-Datei konfigurieren.@ FeignClient kann nicht mit einer Liste von Servern konfiguriert werden
Die listOfServers
wird jedoch nie gelesen, und daher schlägt der Vorgang fehl, da Feign/Ribbon keinen einzigen Server zu verwenden hat.
Was mache ich hier falsch?
Mein Feign Client:
@FeignClient(name="foo-service")
public interface FooFeignClient {
@RequestMapping(value = "/perform-check", method = POST)
ResponseEntity<FooResponse> performCheck(FooRequest fooRequest);
}
In bootstrap.yml:
foo-service:
ribbon:
eureka:
enabled: false
listOfServers: foobox1,foobox2,foobox3
Wie der Feign Client im Frühjahr Boot-Anwendung konfiguriert ist:
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableHazelcastClient
@EnableFeignClients
@RibbonClients({
@RibbonClient(name = "foo-service", configuration = MyApp.FooServiceRibbonConfig.class)
})
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
....
@Configuration
static class FooServiceRibbonConfig {
@Bean
@ConditionalOnMissingBean
public IClientConfig ribbonClientConfig() {
DefaultClientConfigImpl config = new DefaultClientConfigImpl();
config.loadProperties("foo-service");
return config;
}
@Bean
ServerList<Server> ribbonServerList(IClientConfig config) {
ConfigurationBasedServerList serverList = new ConfigurationBasedServerList();
serverList.initWithNiwsConfig(config);
return serverList;
}
}
}
'listOfServers' ist Groß-und Kleinschreibung und sollte' ListOfServers' sein. – spencergibb
@spencergibb 'ListOfServers' hat auch nicht funktioniert. Ich habe versucht, den Rat hier zu folgen https://github.com/spring-cloud/spring-cloud-netflix/issues/325 – vegemite4me
Sie müssen ein Beispielprojekt zur Verfügung stellen, das das Problem neu erstellt. – spencergibb