Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring Cloud: Feign and Http Connection Pooling

Can anyone please tell me if the Spring Cloud Feign Client provides or supports Http Connection Pooling, and if so how to configure settings like pool size? I can't seem to find this in the official documentation. Thank you.

like image 387
RobP Avatar asked Mar 22 '16 11:03

RobP


1 Answers

From investigation I will try to answer my own question:

Spring Cloud Feign uses Netflix Feign. Netflix Feign in turn creates connections using java.net.HttpURLConnection which makes use of 'persistent connections' but not a connection pool.

It is possible to override the Client, for example using Apache HttpClient instead, and Netflix provide a library for this (feign-httpclient). When using this approach the connection pool size can be set using SystemProperties.

In Spring Cloud Brixton it seems that if Apache HttpClient or OkHttpClient are available (via @ConditionalOnClass) then they are automatically used.

like image 196
RobP Avatar answered Sep 24 '22 12:09

RobP