package com.arms.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import feign.Client; import feign.hc5.ApacheHttp5Client; @Configuration(proxyBeanMethods = false) @ConditionalOnClass(ApacheHttp5Client.class) @ConditionalOnMissingBean(org.apache.hc.client5.http.impl.classic.CloseableHttpClient.class) @ConditionalOnProperty(value = "feign.httpclient.hc5.enabled", havingValue = "true") @Import(org.springframework.cloud.openfeign.clientconfig.HttpClient5FeignConfiguration.class) public class HttpClient5FeignConfig { @Bean @ConditionalOnMissingBean(Client.class) public Client feignClient(org.apache.hc.client5.http.impl.classic.CloseableHttpClient httpClient5) { return new ApacheHttp5Client(httpClient5); } }