如何在HttpClient停止资源泄漏?

时间:2018-01-22 10:04:56

标签: java memory-leaks apache-httpclient-4.x

我有一些代码可以使用org.apache.http.client.HttpClient下载文件。现在我的IDE告诉我,我有一个Potential resource leak: 'client' may not be closed。具体代码是:

HttpClient client = HttpClientBuilder.create().build();

HttpResponse response = client.execute(request);

HttpEntity entity = response.getEntity();

我做了一些研究并发现了EntityUtils.consume(entity);,但这并没有解决client的资源泄漏问题。

所以我的问题是,这真的是资源泄漏吗?如果是,我该如何正确关闭它?

1 个答案:

答案 0 :(得分:0)

由于我无法找到任何其他方式且Eclipse IDE没有任何其他快速修复方法,我尝试了唯一提出的"修复"这是将所有3行合并为1行:

HttpEntity entity = HttpClientBuilder.create().build().execute(request).getEntit‌​y();

我不确定这是否真的解决了资源泄漏问题,但至少Eclipse似乎想到