java - 如何在spring boot Java中动态获取feign客户端名称和url
问题描述
我是假装客户端实现的新手,我有以下当前实现的代码。
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。基本上想以动态的方式制作。
有人可以提出任何方法吗?
解决方案
您可以将 Feign 与 Ribbon 和 Eureka 服务器一起使用,以动态获取 url 以及服务器(或 url 列表,具体取决于实例)
@FeignClient(name= "abc-service")
@RibbonClient(name = "abc-service")
但名称必须存在,以便从 app.properties 文件中识别特定服务。需要为eureka server & Ribbon Load balancer添加相应的依赖,需要在application.properties中配置
您可以在此处查找我的示例代码
推荐阅读
- sql - 如何从sql列的值中找到总和
- python - 如何在matplotlib的一串文本中加粗单个单词?
- node.js - heroku 日志 --tail 错误:sh:1:nodemon:未找到
- c++ - 如何在 C++ 中读取文件并将数据从文件插入到向量中,这是一个类的类型?
- django - 新的 Django 项目管理 url 不知何故被先前的项目 Django-Allauth 设置覆盖
- associations - 两种数据之间的Python关联规则
- java - 在多个线程中调用方法
- javascript - 这个嵌套的 If 语法有什么问题?
- java - 如何在 Java 中将 2 个类与其 Scanner 变量连接起来?
- flutter - 我想知道用户是否已经对我的应用进行了评分?