Программисты JAVA общаются здесь
Anonymous
Я переношу версию Spring Boot 2.7.3 на Spring-Boot 3.0.0, поэтому существующий код не работает, связанный с HttpClients.
Сообщение
Anonymous » 25 июн 2024, 19:07
Код: Выделить всё
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);
}
}
В приведенном выше коде
requestFactory.setHttpClient(httpClient)
Этот метод не принимает объект CloseableHttpClient после обновления до последней версии весенней загрузки.
requestFactory.setReadTimeout(30000);
Пока этот метод устарел.
Есть ли у кого-нибудь идеи, как исправить эти проблемы при весенней загрузке 3.0?
Подробнее здесь:
https://stackoverflow.com/questions/752 ... ing-code-i
1719331660
Anonymous
[code]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); } } [/code] В приведенном выше коде requestFactory.setHttpClient(httpClient) Этот метод не принимает объект CloseableHttpClient после обновления до последней версии весенней загрузки. requestFactory.setReadTimeout(30000); Пока этот метод устарел. Есть ли у кого-нибудь идеи, как исправить эти проблемы при весенней загрузке 3.0? Подробнее здесь: [url]https://stackoverflow.com/questions/75242683/i-am-migrating-spring-boot-version-2-7-3-to-spring-boot-3-0-0-so-existing-code-i[/url]