小编Meh*_*ban的帖子

我正在将 spring boot 版本 2.7.3 迁移到 spring-boot 3.0.0,因此现有代码会破坏与 HttpClients 相关的代码

import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
 
@Configuration
@Profile("dev")
public class RestTemplateConfigurationDev {
   @Bean
   public RestTemplate getRestTemplate() {
       CloseableHttpClient httpClient = HttpClients.custom().setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
 
       HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
 
       requestFactory.setHttpClient(httpClient);
       requestFactory.setConnectTimeout(30000);
       requestFactory.setReadTimeout(30000); 
       requestFactory.setConnectionRequestTimeout(30000);

       return new RestTemplate(requestFactory);
    }
} 
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,

requestFactory.setHttpClient(httpClient)

升级到最新的 Spring Boot 版本后,此方法不接受 CloseableHttpClient 对象。

requestFactory.setReadTimeout(30000);

虽然此方法已被弃用。

有人知道如何在 Spring Boot 3.0 中解决这些问题吗?

java spring-boot

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×1

spring-boot ×1