如何阻止 HttpClient 的资源泄漏?
How to stop resource leak at HttpClient?
我有一些代码可以使用 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
的资源泄漏问题。
所以我的问题是,这真的是资源泄漏吗?如果是,我该如何正确关闭它?
因为我找不到任何其他方法并且 Eclipse IDE 没有任何其他可用的快速修复,我尝试了唯一建议的 "fix" 合并所有 3 行像这样分成 1 行:
HttpEntity entity = HttpClientBuilder.create().build().execute(request).getEntity();
我不确定这是否真的解决了资源泄漏问题,但至少 Eclipse 似乎在考虑
我有一些代码可以使用 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
的资源泄漏问题。
所以我的问题是,这真的是资源泄漏吗?如果是,我该如何正确关闭它?
因为我找不到任何其他方法并且 Eclipse IDE 没有任何其他可用的快速修复,我尝试了唯一建议的 "fix" 合并所有 3 行像这样分成 1 行:
HttpEntity entity = HttpClientBuilder.create().build().execute(request).getEntity();
我不确定这是否真的解决了资源泄漏问题,但至少 Eclipse 似乎在考虑