迁移 Feign Load Balancer 实现以兼容 Spring Cloud 2020.0.0

问题描述

我有以下 Feign 负载均衡器的实现,它与 Spring Cloud Hoxtan SR6 依赖项一起使用。

import feign.auth.BasicAuthRequestInterceptor;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.netflix.ribbon.SpringClientFactory;
import org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory;
import org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient;
import org.springframework.context.annotation.Bean;

public class ClientConfig {

@Bean
public BasicAuthRequestInterceptor basicAuthRequestInterceptor(
        @Value("${username}") String username,@Value("${password}") String password) {
    return new BasicAuthRequestInterceptor(username,password);
}

@Autowired
private CachingSpringLoadBalancerFactory cachingFactory;
@Autowired
private SpringClientFactory clientFactory;

@Value("${keystore.location}")
private String keyStoreLocation;
@Value("${keystore.secPhase}")
private String keyPassword;

@Bean
public Client feignClient() {
    SslUtils.KeystoreConfig truststoreConfig = SslUtils.KeystoreConfig.builder().type("JKS").location(keyStoreLocation).password(keyPassword).build();
    SocketFactory factory = new SocketFactory(() -> SslUtils.newContext(null,truststoreConfig));
    NoopHostnameVerifier verifier = new NoopHostnameVerifier();
    Client.Default client = new Client.Default(factory,verifier);
    return new LoadBalancerFeignClient(client,cachingFactory,clientFactory);
}
}

我尝试将 Spring Cloud 版本升级2020.0.0。我注意到以下软件包不再可用。

import org.springframework.cloud.openfeign.ribbon.CachingSpringLoadBalancerFactory;
import org.springframework.cloud.openfeign.ribbon.LoadBalancerFeignClient;

如何更改当前的实现?或者什么依赖项会提供这些包?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)