Я использую org.apache.http.client.HttpClient. У меня есть вопрос, который касается использования этого класса.org.apache.http.client.HttpClient - по одному запросу?
Должен ли я создать новый HttpClient
за запрос (например, потому что это легкий объект), или лучше использовать уникальный экземпляр для множества HTTP-запросов (например, потому что создание/удаление дорого)? Если необходимо использовать только один экземпляр HttpClient
, то есть HttpClient
потокобезопасный (например, он может обрабатывать множество HTTP-запросов одновременно) или предпочтительнее в этом случае создать пул HttpClient
s?
На самом деле, я создаю новый HttpClient для каждого запроса. Я подозреваю, что я должен создать уникальный экземпляр, который будет закрыт в конце использования моего приложения, используя getConnectionManager().shutdown()
, но я не знаю, могу ли я поддерживать параллелизм на основе потоков.
Подсказка - 'DefaultHttpClient' поставляется с аннотацией' @ ThreadSafe'. –
О, хорошо ... поэтому я утверждаю, что он должен обрабатывать несколько HTTP-запросов за раз. –
Да. [Подробнее здесь] (http://hc.apache.org/httpclient-3.x/performance.html). Взгляните на «Повторное использование экземпляра HttpClient». –