Как установить собственный максимальный размер пула соединений в конфигурации @feignclient весной

Как установить собственный максимальный размер пула соединений в конфигурации @feignclient весной,

@FeignClient(name = "content-cms", configuration = ContentCmsServiceFeignConfig.class)
public interface FeignService {

@RequestMapping(value = "/test/", method = RequestMethod.GET)
String getSample(@RequestParam("token") String token, @RequestParam("cid") String cid,
        @RequestParam("ratio") String ratio, @RequestParam("s") String source);

}

о каком пуле потоков вы говорите?

spencergibb 11.04.2018 17:58

Я говорю о пуле соединений, где по умолчанию я вижу только размер пула соединений 200. Могу ли я увеличить его. Есть ли способ

Ankush Nakaskar 11.04.2018 20:44

@robp, не могли бы вы подробнее рассказать об этом, я вижу, вы использовали то же самое в запросе: stackoverflow.com/questions/36153138/…

Ankush Nakaskar 11.04.2018 21:02
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
3
8 283
1

Ответы 1

Вы можете настроить количество подключений в рамках конкретной используемой реализации Client. Feign имеет встроенную поддержку Apache Http, OkHttp и Ribbon. При использовании Spring Cloud Open Feign клиент по умолчанию основан на том, что у вас есть в вашем пути к классам.

Вот пример использования Apache Http, вы можете настроить свой собственный bean-компонент CloseableHttpClient с желаемыми параметрами.

@Configuration
public class HttpClientConfiguration {
    @Bean
    public CloseableHttpClient httpClient() {
       return HttpClients.custom()
                  .maxConnectionsPerRoute(200)
                  .maxConnections(200)
                  .build()
    }
} 

Если вы используете Spring Boot, вы также можете настроить любое из свойств feign.httpclient.*.

feign:
   httpclient:
       maxConnections: 200
       maxConnectionsPerRoute: 200

Вы можете найти больше информации в Документация Spring Cloud OpenFeign: переопределение значений по умолчанию

Чтобы завершить этот ответ деталями, которые заставляли меня бороться целый день: вам нужно добавить мост между Feign и Apache HttpClient. например: <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId> </dependency>

Jose Jurado 12.03.2019 11:38

ссылка повреждена. Может это такое? cloud.spring.io/spring-cloud-netflix/multi/…

WesternGun 22.03.2019 09:59

Другие вопросы по теме