使用时@LoadBalanced
RestTemplate
,主机名需要是serviceId而不是实际的主机名。在您的情况下,它正在尝试查找一个尤里卡记录,localhost
而找不到一个。有关如何使用多个对象的信息,请参阅文档RestTemplate
。
@Configuration public class MyConfiguration { @LoadBalanced @Bean RestTemplate loadBalanced() { return new RestTemplate(); } @Primary @Bean RestTemplate restTemplate() { return new RestTemplate(); } } public class MyClass { @Autowired private RestTemplate restTemplate; @Autowired @LoadBalanced private RestTemplate loadBalanced; public String doOtherStuff() { return loadBalanced.getForObject("http://stores/stores", String.class); } public String doStuff() { return restTemplate.getForObject("http://example.com", String.class); } }