#はじめに
HttpClient 4.3を使って、POSTのサンプルを作っていた時に疑問に思ったことがありました。
CloseableHttpClient のCloseableとは何なんだろう?
CloseableHttpClientSample.java
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://localhost/");
CloseableHttpResponse response = httpclient.execute(httpget);
try {
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
try {
// do something useful
} finally {
instream.close();
}
}
} finally {
response.close();
}
#調べたこと
Java 1.5からCloseable インターフェースが追加された。
Closeable は、閉じることができるデータの転送元または転送先です。終了メソッドは、オブジェクトが保持しているリソース (開いているファイルなど) を解放するために呼び出されます。
http://docs.oracle.com/javase/jp/7/api/java/io/Closeable.html
閉じることができるということは、処理が終わったらちゃんと閉じなさいという意味と解釈しました。