2017-03-07 5 views
2

私のアプリケーションは複数のREST APIに接続します。Netflix Ribbon with Spring複数のクライアントを追加する

私は今、私は、サーバーを開催する2番目のクライアントを追加したいサーバ

の独自のリストと、それらのAPIのいずれかのために自分のアプリケーションにリボンクライアント/ロードバランスを追加することに成功してきました私の2番目のAPIのリスト

Archaiusが特定のプロパティを読み込むために使用するクライアント名を定義するために、次のプロパティを追加しました。

ribbon.client.name=myFirstClientName

私の質問は:私は、同じアプリケーションで別のクライアントを定義するにはどうすればよいですか?

ribbon.client.name=myFirstClientName,mySecondClientNameのようなコンマ区切りのリストだと思っていましたが、うまくいかなかったのです。

結局、私は

myFirstClientName.ribbon.listOfServers=<ip>,<ip> 
mySecondClientName.ribbon.listOfServers=<ip>,<ip> 

任意の考えのようなサーバの2つのリストで終わるしたいですか?

答えて

2

私はFeignのために作成したインターフェイスに@RibbonClientアノテーションを追加することで、動作させることができました。

結果のクラスは以下のようになり

@FeignClient("http://myFirstClientName/") 
@RibbonClient(value = "myFirstClientName", configuration = MyFirstClientConfig.class) 
public interface MyFirstFeignService { 

2番目のクライアントは、次のようになります。

@FeignClient("http://mySecondClientName/") 
@RibbonClient(value = "mySecondClientName", configuration = MySecondClientConfig.class) 
public interface MySecondFeignService { 

その後もちろん私は、サーバーの私の二つのリストを設定します

myFirstClientName.ribbon.listOfServers=<ip>,<ip> 
mySecondClientName.ribbon.listOfServers=<ip>,<ip> 

PS的IPS:作ります上記のMySecondClientConfigとMyFirstClientConfigの設定クラスがApplicationContextにないことを確認してください。どこかの@ComponentScanによって捕まえられないようにしてください。そうしないと動作しません。

関連する問題