SpringCloud學習遇到的坑,通過Eureka中已經註冊的服務名,調用不了已經註冊的服務

前提:服務提供者8001已經成功註冊到eureka

 但是根據服務名稱調用接口時,失敗

private static final String PAYMENT_URL =  "http://CLOUD-PAYMENT-SERVICE";      //集羣配置
@Resource
private RestTemplate restTemplate;

@GetMapping(value="/consumer/payment/zipkin")
public String paymentZipkin() {
    return restTemplate.getForObject(PAYMENT_URL +  "/payment/zipkin",String.class);
}

原因是
在使用RestTemplate的時候,千萬別忘了加@LoadBalance註解
@Configuration
public class ApplicationContextConfig {
    @Bean
    @LoadBalanced   //使用@LoadBalanced註解賦予RestTemplate負載均衡的能力
    public RestTemplate getRestTemplate(){
        return  new RestTemplate();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章