Как внедрить собственный Http-клиент в Spring Cloud openfeign?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как внедрить собственный Http-клиент в Spring Cloud openfeign?

Сообщение Anonymous »


Я пытаюсь предоставить CloseableHttpClient для Spring Cloud OpenFeign. В документации Spring Cloud Open Feign говорится, что он поддерживает CloeableHttpClient. В документации Spring не приводится ни одного примера фактической замены HTTP-клиента.

По сути, я предоставляю SSLContext HTTP-клиенту и хочу, чтобы Feign использовал этот загруженный SSLContext клиент. Как внедрить этот CloseableHttpClient в Feign?

Ниже приведена моя соответствующая конфигурация:
[*]Я использую SpringBootApp
@SpringBootApplication @EnableFeignClients Приложение публичного класса расширяет SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } [*]Интерфейс клиента Feign выглядит следующим образом: import org.springframework.cloud.openfeign.FeignClient; // пропускаем остальную часть импорта для краткости @FeignClient(name ="remote-service", url = "${remote.service-url}", конфигурация = FeignConfig.class) общедоступный интерфейс RemoteServiceApi { @GetMapping(value = "/api/v1/resources/{Id}") public String getResource(@PathVariable("Id") String Id); } [*]Класс FeignConfig import org.apache.http.impl.client.CloseableHttpClient; // пропускаем остальную часть импорта для краткости общественный класс FeignConfig { @Бин общественный клиент CloseableHttpClient() { CloseableHttpClient httpClient=null; пытаться { //... Пропускаем код для краткости. // здесь создается «sslSocketFactory», используемый в построителе HttpClient ниже httpClient = HttpClients.custom().setSSLSocketFactory(sslSocketFactory) .setMaxConnTotal(10) .setMaxConnPerRoute(10) .строить(); }catch(IOException | KeyManagementException | UnrecoverableKeyException | NoSuchAlgorithmException | KeyStoreException | CertificateException e) { System.err.println("Исключение при создании HttpClient. : "+e.getMessage()); } вернуть httpClient; } } [*]В файле application.properties feign.httpclient.enabled установлено значение true [*]Версия Springboot — 2.4.4. Версия Feign — feign-core-10.10.1 Другая часть, которую я не понял, это то, как Spring собирался подключить этот пользовательский CloseableHttpClient к Feign, как он утверждает. Потому что во время отладки во время выполнения я вижу, что аннотированный интерфейс Feign реализован классом feign.SynchronousMethodHandler, а поле client в этом классе имеет тип feign.Client, а во время выполнения оно получает com.sun.security.ntlm.Client ( может быть реализацией по умолчанию). Как CloseableHttpClient должен быть внедрен в feign.Client? В Интернете очень мало примеров подобных вещей, и они не объясняют их.

Я нашел этот пост на SOF, но
[*]здесь также внедряется @Bean типа CloseableHttpClient [*]На этот вопрос нет полезного ответа.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отсутствует артефакт org.springframework.cloud:spring-cloud-starter-openfeign:jar:3.0.3-snapshot
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как создать собственный декодер для клиента Spring Cloud OpenFeign
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Соединение Docker Cloud Cloud Cloud Cloud
    Anonymous » » в форуме JAVA
    0 Ответы
    83 Просмотры
    Последнее сообщение Anonymous
  • Соединение Docker Cloud Cloud Cloud Cloud
    Anonymous » » в форуме JAVA
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Перехватчик ответа Feign с использованием Spring Cloud OpenFeign
    Anonymous » » в форуме JAVA
    0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»