Spring RestTemplate as a Load Balancer Client

可以使用胶带方式来自动配置RestTemplate。可以使用@Bean and @LoadBalanced注解来创建一个可以进行负载均衡的RestTemplate

警告

RestTemplate不在会通过自动配置来自定创建,它必须通过独立的应用来创建

@Configuration
public class MyConfiguration {

    @LoadBalanced
    @Bean
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

public class MyClass {
    @Autowired
    private RestTemplate restTemplate;

    public String doOtherStuff() {
        String results = restTemplate.getForObject("http://stores/stores", String.class);
        return results;
    }
}

这个URI使用的是虚拟主机名称(service名称而不是主机名称)。通过Ribbon客户端创建一个完全的物理地址。可以参考RibbonAutoConfiguration的细节了解如何启动RestTemplate

results matching ""

    No results matching ""