如何让多个 Fe​​ignClient-s 使用相同的 serviceId/name?

2023-12-30

假设有 2 个端点:

@RequestMapping("/ep1")
interface Endpoint1 {
    @GetMapping("/echo")
    String echo();
}

@RequestMapping("/ep2")
interface Endpoint2 {
    @GetMapping("/echo")
    String echo();
}

在后端,两者都在同一服务器中运行,该服务器在 Eureka 或 Consul 或...中注册为 serviceId="MY-SERVER"

@RestController
public class Endpoint1Controller implements Endpoint1 {
    public String echo() {
        return "echo from Endpoint1"
    }
}
@RestController
public class Endpoint2Controller implements Endpoint2 {
    public String echo() {
        return "echo from Endpoint2"
    }
}

现在我的 2 个 Feign 客户端必须共享相同的名称/服务 ID 才能在 Eureka/Consul 中发现服务,但每个 feign 客户端的 serviceId 应该是唯一的! ……这该怎么处理?

@FeignClient("MY-SERVER")
public interface Endpoint1Client extends Endpoint1 {
}

@FeignClient("MY-SERVER")
public interface Endpoint2Client extends Endpoint2 {
}


The bean 'MY-SERVER.FeignClientSpecification' could not be registered. A bean with that name has already been defined and overriding is disabled.

在建议我将其加入单个接口之前,请考虑单个服务器/后端上可能有更多端点...


哦,我现在明白了!应该是独一无二的上下文ID not 值/名称

@FeignClient(name="MY-SERVER", contextId = "THIS-SHOULD-BE-UNIQUE")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让多个 Fe​​ignClient-s 使用相同的 serviceId/name? 的相关文章

随机推荐

  • C++:我想在所有 CPP 文件之间使用这个配置类,如何初始化它?

    class Config public static int OUTPUT TO FILE static int NEED TO TRAIN static int NO FILE TRAIN static int NEED TO TEST
  • Java 创建临时文件

    名称的最大长度是多少TempFile在java中和MaximumFilesize取决于 在我们提到要创建的临时目录或其他基于java的机器上 何时致电deleteOnExit 方法 但是这个方法有什么用 因为它会在 JVM 关闭时被调用 但
  • Glide - 下载 GIF 并调整其大小到文件中

    我需要下载一个 GIF 并将其保存到外部存储 以便我可以通过彩信发送它 消息的大小限制为 300kb 并且大多数 GIF 太大 因此我需要调整它们的大小 我在项目的其余部分中使用 Glide Glide 有一个漂亮的功能 理论上应该下载调整
  • twitter bootstrap form-group 的 AngularJS 指令

    我最近一直在玩 Angular 到目前为止一切都很好 但我在指令方面遇到了困难 我正在尝试创建一个指令 为标准引导表单组生成 html 标记及其相应的验证消息 所以基本上我正在尝试转换它
  • Couchdb - 是否可以停用reduce_overflow_error错误

    我正在开发一个映射 归约 它在重新归约的情况下并不能准确地返回我所期望的结果 我想调试它 但我至少也想看看里面有什么 所以我输出了很多东西 Couch 返回了一个reduce overflow error每次我运行视图时 是否可以停用此行为
  • 正确使用 NSGetExecutablePath

    我尝试在运行时获取应用程序的路径 我找到了一些来自 C 的旧源代码 并将其相应地转换为函数参数类型定义 var path Int8 count 1024 repeatedValue 0 var bufsize UInt32 1024 if
  • 如何在多个字段上使用 SearchHeadline 和 SearchVector

    我需要一个搜索多个字段并返回一个突出显示匹配单词的 标题 我的理解是 SearchVector 是跨多个字段搜索的合适选择 但我见过的所有 SearchHeadline 示例都只使用一个字段 将 SearchHeadline 与多个字段结合
  • Spring Cloud Gateway 和 TokenRelay 过滤器

    我正在尝试将 JHipster 从使用 Zuul 迁移到 Spring Cloud Gateway JHipster 使用 Eureka 来查找路由 我相信我已经正确配置了 Spring Cloud Gateway 来查找路由并将访问令牌传
  • 调整 UIPrintInteractionController 的 UIImage 大小

    我目前正在研究通过 Airprint 打印视图内容的可能性 对于此功能 我从视图创建一个 UIImage 并将其发送到 UIPrintInteractionController 问题在于图像的大小被调整为纸张的完整分辨率 而不是原始大小 大
  • 使用 Ionic Zip 库将文件夹添加到 Zip 根目录

    我想要做的是使用 Ionic Zip 库 c 将文件夹和文件列表全部添加到我的 Zip 文件的根目录中 这是我到目前为止所拥有的 string k B My Documents Workspace private void button1
  • 运行Android应用程序会产生java.lang.NoClassDefFoundError:retrofit.RestAdapter$Builder

    我正在 Android 上使用 Flickr API 制作一个照片库应用程序 使用 Eclipse 和 4 4 SDK 该项目已成功编译 但应用程序在再次运行 4 4 的 Nexus 7 2012 上启动后立即崩溃 我的构建路径中包含以下
  • 实体框架查询中 string.Trim() 的行为

    我正在尝试将名称列表复制到 SQL Server 表中 我为其设置了实体框架项目 名称列表有重复的值 并且有几个值末尾有空格 我希望只插入表中尚未存在的名称 并删除它们末尾的空格 看起来相当简单 对吧 我的解决方案是这样的 if conte
  • 使用谷歌地图 API v3 相交多边形和折线

    我有一个动态创建的多边形和折线 现在我需要检查它们是否彼此相交 我该如何实现这一目标 谷歌搜索没有提供任何令人满意的结果 谢谢 丹尼尔 您需要迭代第一个多边形 折线的每个线段 并检查它是否与第二个多边形 折线的每个线段相交 如果一个相交 则
  • 交换环境 URL 到底是如何工作的?

    我最近使用交换环境 URL 来升级我的 Elastic Beanstalk 应用程序 使用两个环境 我在映射到 beanstalk URL 的不同 URL 上有一个 CNAME 记录 然后我尝试推送到生产环境 现在位于测试 URL 然后再次
  • Python 3 从网络广播流中获取歌曲名称

    如何从网络广播流中获取歌曲名称 Python 从url获取shoutcast 网络广播电台的名称 https stackoverflow com questions 3110494 python get name of shoutcast
  • 修剪 csv 导入中的对象内容

    我需要对从 csv 导入对象中提取的每个值运行修剪方法 还没有尝试过类似下面的方法 但对我来说 我不想在传递给函数的每个变量的末尾定义一个修剪命令 csvobj c somestuff csv foreach csvitem in csvo
  • 多个 websocket 通道,单个 ws 对象?

    我将订阅同一服务器的多个 websocket 频道 编写一个管理器来根据 Json 中存在的标签将我收到的各种类型的更新分配给不同的队列是可能的 但是在我的应用程序中创建多个 websocket 客户端对象会节省编程时间 因此每个 webs
  • 自定义参数绑定,绑定部分参数

    我有一个 Web API 2 项目和另一个项目 其中有我的模型类和一个作为所有模型基础的 BaseModel 如下所示 public class BaseModel public string UserId get set 所有其他模型均源
  • 从 datetimepicker 获取 from 和 to date 之间的值

    我的程序中有 2 个日期时间选择器 一种是指定 from 另一种是指定 to 我正在尝试获取 from 和 to 之间的值 我将 2 个 datetimepicker 的值传递给查询之间 但我只获取一个月日期之间的值 如果我选择一个月的日期
  • 如何让多个 Fe​​ignClient-s 使用相同的 serviceId/name?

    假设有 2 个端点 RequestMapping ep1 interface Endpoint1 GetMapping echo String echo RequestMapping ep2 interface Endpoint2 GetM