2017-03-07 13 views
2

내 응용 프로그램이 여러 REST API와 연결됩니다.스프링이있는 Netflix 리본 복수 클라이언트 추가

나는 이제 서버를 보유 할 두 번째 클라이언트를 추가 할 서버

을 자체의 목록과 그 API 중 하나 내 응용 프로그램에 리본 클라이언트 /로드 밸런스를 추가에 성공했습니다 두 번째 API 목록.

Archaius가 특정 속성을로드하는 데 사용하는 클라이언트 이름을 정의하기 위해 다음 속성을 추가했습니다.

ribbon.client.name=myFirstClientName

내 질문은 : 어떻게 같은 응용 프로그램에 다른 클라이언트를 정의합니까?

ribbon.client.name=myFirstClientName,mySecondClientName과 같이 쉼표로 구분 된 목록으로 생각했지만 작동하지 않았습니다.

결국, 나는

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

어떤 생각이 같은 두 서버 목록을 끝내고 싶어?

답변

2

나는 Feign을 위해 만든 인터페이스에 @RibbonClient 주석을 추가하여 작동시킬 수있었습니다.

결과 클래스는 것

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

두 번째 클라이언트는 다음과 같습니다

@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에 의해 어딘가에 잡히지 마십시오. 그렇지 않으면 작동하지 않습니다.