如何使用 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
如何为 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