【问题标题】:how to get feign client name and url both dynamically in spring boot Java如何在spring boot Java中动态获取feign客户端名称和url
【发布时间】:2020-12-07 07:16:51
【问题描述】:

我是 feign 客户端实现的新手,我有以下当前实现的代码。

FeignPaymentAbcService:
@FeignClient(name= "abc-service", url="abc url")
public interface FeignPaymentAbcService{

    //methods
}



 invoking call :
    (feignPaymentAbcService.someFunctionality("some input")).getBody();

未来可能会有多个 feign 服务,如 feignPaymentAbcService 、feignPaymentxyz Service 等,因此根据服务,它应该获取 feign 客户端名称和运行服务的 url。 基本上想以动态的方式制作。

任何人都可以提出任何方法吗?

【问题讨论】:

  • 您可能想看看xyproblem.info 并重新考虑您的方法。
  • 您是否打算让所有FeignPaymentNNNServices 使用相同的方法,并且只在names 和urls 上有所不同?

标签: java spring-boot feign


【解决方案1】:

您可以使用 Feign 与 Ribbon 和 Eureka 服务器一起动态获取 url 以及服务器(或 url 列表,具体取决于实例)

@FeignClient(name= "abc-service")
@RibbonClient(name = "abc-service")

但名称必须存在,以便从 app.properties 文件中识别特定服务。 需要为eureka server & Ribbon Load balancer添加对应的依赖,需要在application.properties

中配置

您可以查看我的示例代码here

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 2019-03-12
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2021-07-03
    相关资源
    最近更新 更多