Я использую услугу через вызовы REST (у меня есть только один маршрут для связи). Я использую Spring boot для того же самого и оборачиваю Httpclient
в RestTemplate
. Создавая экземпляр RestTemplate
, я нашел несколько способов сделать это, чтобы начать с понимания конфигурации RestTemplate
, я хочу понять, как работает диспетчер соединений и какова роль диспетчера соединений в пуле? У меня есть определенные вопросы:
- Следует использовать
PoolingHttpClientConnectionManager
или BasicHttpClientConnectionManager
, учитывая, что все вызовы являются последовательными и в одном потоке? - Следует использовать
PoolingHttpClientConnectionManager
или BasicHttpClientConnectionManager
, учитывая, что вызовы могут быть параллельными и используется многопоточность? - У меня есть только один сервер (хост или маршрут), который я использую, поэтому в этом случае какие должны быть конфигурации, которые я использую? нужно сделать, чтобы получить максимальную отдачу от пула соединений? (Я мало знаю о свойстве
maxRouteConnection
) - Я столкнулся с SocketException , поэтому после предварительного анализа я установил connectionReuseStrategy на
NoConnectionReuseStrategy.INSTANCE
, таким образом не будет постоянного соединения , Я думаю, что это не настоящее исправление, так как теперь оно не работает с java.lang.IllegalStateException: Connection pool shut down
. Кроме того, может кто-нибудь пролить свет на это, например, какую стратегию использовать и почему?