#java #spring #proxy #apache-httpclient-4.x #apache-commons-httpclient
#java #spring #прокси #apache-httpclient-4.x #apache-commons-httpclient
Вопрос:
Добрый день,
В моем веб-приложении Java я пытаюсь создать restTemplate
вызов, который сначала проходит через прокси, прежде чем перейти к месту назначения, и я использую Spring 3.0.4.
Основываясь на этой статье, https://developer.ibm.com/answers/questions/394270/im-using-an-apache-httpclient-to-make-an-outbound/ , Мне нужно использовать HttpClientBuilder
. Итак, мой код будет следующим:
HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
httpClientBuilder.setRoutePlanner( getProxyRoutePlanner() );
CloseableHttpClient httpClient = httpClientBuilder.useSystemProperties( ).build( );
До этого шага мне нужно RequestFactory
сохранить это httpClient
. Однако в моем Spring 3.0.4 у меня есть только 3 RequestFactory
, то есть SimpleClientHttpRequestFactory
, ClientHttpRequestFactory
и CommonsClientHttpRequestFactory
.
SimpleClientHttpRequestFactory
и ClientHttpRequestFactory
нет конструктора для хранения httpClient
. CommonsClientHttpRequestFactory
имеет, но использует старую версию httpClient
, которая org.apache.commons.httpclient.HttpClient
отличается от CloseableHttpClient
приведенного выше кода.
Хотел бы получить совет о том, как передать httpClient
в RequestFactory весной 3.0.4. Или есть другой способ сделать это.
Комментарии:
1. Вы не можете. Поскольку Spring 3 поддерживает только более старые версии библиотеки HttpClient. Либо обновите Spring, либо используйте более старую версию библиотеки HttpClient.
2. @M.Deinum, возможно или каким-либо другим способом привести
CloseableHttpClient
к более старой версииHttpClient
библиотеки?