Mi aplicación se conecta con varias API REST.
Tuve éxito al agregar un Ribbon Client/Load Balance a mi aplicación para una de esas API con su propia lista de servidores
Ahora me gustaría agregar un segundo cliente que mantendría la lista de servidores para mi segunda API.
Para definir el nombre de mi cliente que utiliza Archaius para cargar propiedades específicas, agregué la siguiente propiedad.
ribbon.client.name=myFirstClientNameMi pregunta es: ¿Cómo defino otro cliente en la misma aplicación?
Pensé que sería una lista separada por comas como:
ribbon.client.name=myFirstClientName,mySecondClientNameSin embargo, esto no funcionó.
Eventualmente, quiero terminar con dos listas de servidores como
myFirstClientName.ribbon.listOfServers=<ip>,<ip> mySecondClientName.ribbon.listOfServers=<ip>,<ip>¿Alguna idea?
Pude hacer que funcionara agregando una anotación @RibbonClient en las interfaces que creé para Fingir.
La clase resultante sería
@FeignClient("http://myFirstClientName/") @RibbonClient(value = "myFirstClientName", configuration = MyFirstClientConfig.class) public interface MyFirstFeignService {Segundo Cliente sería:
@FeignClient("http://mySecondClientName/") @RibbonClient(value = "mySecondClientName", configuration = MySecondClientConfig.class) public interface MySecondFeignService {Entonces, por supuesto, configuraría mis dos listas de ips de servidor
myFirstClientName.ribbon.listOfServers=<ip>,<ip> mySecondClientName.ribbon.listOfServers=<ip>,<ip>PD: asegúrese de que sus clases de configuración - MySecondClientConfig y MyFirstClientConfig - anteriores NO estén en ApplicationContext. No deje que algún @ComponentScan lo atrape en algún lugar o de lo contrario no funcionará.