Как обновить настройки HttpClient в httpclient 4.3+?
В httpclient 4.3, если вы уважаете все устаревшие приложения, вы должны собрать и настроитьHttpClient
используяHttpClientBuilder
(документацияВот). Методы являются явными, они кажутся простыми в использовании, иHttpClient
интерфейс ясно. Но, может быть, слишком много.
В моем собственном случае я должен унаследовать SpringHttpComponentsHttpInvokerRequestExecutor
(документацияВот). Как следствие, я могу легко получитьHttpClient
Но все, что я знаю об этом объекте, это то, что он реализует интерфейс.
Поскольку клиент уже собран, и я ничего не знаю о его реализации, я не могу получить доступ к таким методам, какAbstractHttpClient
«ssetHttpRequestRetryHandler
или жеaddRequestInterceptor
(хотя да, я знаю, они устарели).
Итак, что было бы самым чистым способом обновления настроек этогоHttpClient
(обработчик повторов и перехватчик запросов - это те, которые меня больше всего интересуют в данный момент)? Нужно ли мне...
AbstractHttpClient
, надеясь, что я всегда получу эту реализацию?... создать новыйHttpClient
в моем конструкторе HttpInvokerRequestExecutor, и получить что-то вроде примера, воспроизведенного ниже? Я мог бы добавить, что конструктор Spring (по крайней мере, в 3.2.4) также использует методы, которые устарели в httpclient 4.3. Будет ли какой-либо побочный эффект, который я пропустил при использовании этой стратегии?... сделать что-то, что я еще не предложил?Пример пользовательского конструктора:
public CustomHttpInvokerRequestExecutor() {
super(); // will create an HttpClient
// Now overwrite the client the super constructor created
setHttpClient(HttpClientBuilder.custom(). ... .build());
}