【发布时间】:2021-04-29 05:30:41
【问题描述】:
我有以下 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;
如何更改当前的实现?或者什么依赖会提供这些包?
【问题讨论】:
-
添加
spring-cloud-starter-loadbalancer。如果仍有问题,请发布您的整个 pom。
标签: java maven spring-cloud spring-cloud-feign openfeign