创建RestTemplate的Bean时使用@LoadBalanced注解, 就可以自动配置为使用ribbon。如下面的示例所示:

@Configuration
public class MyConfiguration {

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

public class MyClass {
    @Autowired
    private RestTemplate restTemplate;

    public String doOtherStuff() {        //注意:代码中的url要使用服务名,而不是主机名
        String results = restTemplate.getForObject("http://stores/stores", String.class);
        return results;
    }
}

  多个RestTemplate对象 

@Configuration
public class MyConfiguration {

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

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

public class MyClass {
    @Autowired
    private RestTemplate restTemplate;
    
    @LoadBalanced
    @Autowired
    private RestTemplate restTemplateLoadBalanced;
    

    public String doOtherStuff() {        //注意:代码中的url要使用服务名,而不是主机名
        String results = restTemplate.getForObject("http://stores/stores", String.class);
        return results;
    }
}

相关文章:

  • 2021-12-15
  • 2022-12-23
  • 2021-07-08
  • 2021-06-28
  • 2021-11-10
  • 2021-09-16
  • 2021-06-21
  • 2021-07-13
猜你喜欢
  • 2021-09-04
  • 2021-07-11
  • 2021-06-30
  • 2022-12-23
  • 2021-05-05
  • 2021-10-27
  • 2021-06-11
相关资源
相似解决方案