同じ質問がありました。他の答えは、close()が本当に必要な理由に対処していないようです?また、Opは、HttpClientなどを使用するための好ましい方法を見つけるのに苦労しているようでした。
Apacheによると:
さらに、関係は次のようになります。
HttpClient
(インターフェース)
実装者:
CloseableHttpClient
-スレッドセーフ。
DefaultHttpClient
-ThreadSafeは非推奨ですが、HttpClientBuilder
代わりに使用してください。
HttpClientBuilder
-ThreadSafeではありませんが、ThreadSafeを作成しますCloseableHttpClient
。
- CUSTOMの作成に使用します
CloseableHttpClient
。
HttpClients
-ThreadSafeではありませんが、ThreadSafeを作成しますCloseableHttpClient
。
- DEFAULTまたはMINIMALを作成するために使用します
CloseableHttpClient
。
Apacheによる推奨される方法:
CloseableHttpClient httpclient = HttpClients.createDefault();
彼らが与える例httpclient.close()
はfinally
節で行い、またResponseHandler
同様に利用します。
別の方法として、mkyongのやり方も少し興味深いです。
HttpClient client = HttpClientBuilder.create().build();
彼はclient.close()
呼び出しを表示しませんclient
が、まだのインスタンスであるため、必要だと思いますCloseableHttpClient
。