Какой тип HttpClientConnectionManager следует использовать для однопоточной и многопоточной среды? - PullRequest
0 голосов
/ 27 мая 2020

Я использую услугу через вызовы REST (у меня есть только один маршрут для связи). Я использую Spring boot для того же самого и оборачиваю Httpclient в RestTemplate. Создавая экземпляр RestTemplate, я нашел несколько способов сделать это, чтобы начать с понимания конфигурации RestTemplate, я хочу понять, как работает диспетчер соединений и какова роль диспетчера соединений в пуле? У меня есть определенные вопросы:

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