如何使用 IClientConfig 创建 Bean

How to create Bean with IClientConfig

如何为 IClientConfig 创建 @Bean?我需要使用预配置的 httpclient 委托参数初始化 ribbonLoadBalancingHttpClient bean。问题是 IClientConfig bean 所需的构造函数未加载到上下文中。

这无法初始化 IClientConfig:

IClientConfig.Builder.newBuilder().build();

更新 我发现每个 IClientConfig 都与一个 clientName 相关 如果我硬编码一个 clientName(例如 "name")功能区将始终 return clientName 的信息 -> "name".

但是我有不止一个clientName:

 nameone:
    ribbon:
       listOfServers:
          localhost:1110

 nametwo:
    ribbon:
       listOfServers:
          localhost:1111

 namethree:
    ribbon:
       listOfServers:
          localhost:1112

 namefour:
    ribbon:
       listOfServers:
          localhost:1113
       IsSecure: true

 namefive:
    ribbon:
       listOfServers:
          localhost:1114

 namesix:
    ribbon:
       listOfServers:
          localhost:111

所以我为 ribbonLoadBalancingHttpClient 覆盖了 @Bean,但是 IClientConfig 也必须放在每个 clientName 的上下文中。 我怎样才能做到这一点?

如果您想知道我为什么要使用自定义 HttpClient,那是为了关闭功能区客户端的自签名证书验证。如果有另一种方法,那也是一个有效的答案。

我在 github 中找到了我问的答案:https://github.com/spring-cloud/spring-cloud-netflix/issues/1776