2017-01-02 9 views
1

私はこのように、私のユーレカのプロバイダを持っている:マイクロサービスを利用するために仮想ホスト名を使用できないのはなぜですか?

enter image description here

それから私はこのように、メッセージを取得するためにrestTemplateを使用します。

@Autowired 
RestTemplate restTemplate; 

@RequestMapping("getInfo") 
public String getMessage(){ 
    return restTemplate.getForObject("http://microservice_provider/user/getUserInfo", String.class); 
} 

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

} 

}

しかし、それは決してうまくいく。それは私に語った:

だから、

enter image description here

、私は正常にこのように使用するために何ができるのでしょうか?

答えて

0

RestTemplateのBeanを作成し、@LoadBalancedというBeanに注釈を付けます。あなたはURLの一部としてmicroservice microservice_providerの名前を使用することができる方法、

@LoadBalanced 
@Bean 
public RestTemplate loadBalancedRestTemplate() { 
    return new RestTemplate(); 
} 

。 URL "http://microservice_provider"

String remotemsg = restTemplate.getForObject("http://microservice_provider/user/getInfo",String.class); 
+0

申し訳ありませんが、私は実際にあなたを見せて忘れていましたが、とにかく動作しません。 – yaotalk

+0

完全なスタックトレースを投稿して質問を更新してください。 – Kihats

+0

あなたは私を助けることができますか? – yaotalk

0

ホスト名microservice_providerアンダースコア_は、ホスト名では有効ではありませんので、有効なホスト名ではありません。名前を変更すると動作します。最近の変更により、NPEを明確なエラーメッセージで修正しています。

関連する問題