eclipse“潜在资源泄漏”警告不正确。
没有警告:
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(createSSLConnSocketFactory()).setConnectionManager(connMgr).setDefaultRequestConfig(requestConfig).build();
String apiUrl = ...;
HttpPost httpPost = new HttpPost(apiUrl);
CloseableHttpResponse response = null;
HttpEntity entity;
try {
response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
logger.warn("invoke failed, response status={},key={}",statusCode,key);
httpPost.close();
if (response != null) {
response.close();
}
return null;
}
}
警告:潜在资源泄漏:“此位置可能未关闭响应”
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(createSSLConnSocketFactory()).setConnectionManager(connMgr).setDefaultRequestConfig(requestConfig).build();
String apiUrl = ...;
HttpPost httpPost = new HttpPost(apiUrl);
CloseableHttpResponse response = null;
HttpEntity entity;
try {
response = httpClient.execute(httpPost);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode != HttpStatus.SC_OK) {
logger.warn("invoke failed, response status={},key={}",statusCode,key);
closeBoth(httpClient, response)
return null;
}
}
private void closeBoth(CloseableHttpClient client, CloseableHttpResponse resp) {
org.apache.poi.util.IOUtils.closeQuitely(client);
org.apache.poi.util.IOUtils.closeQuitely(resp);
}
为什么第二种方法会引起警告?
谢谢!
Eclipse关闭警告代码只查看当前方法。它不分析CloseAll
方法来查看它的功能(在这种情况下,它还必须查看CloseQuely
)。
在中,我收到了一个警告,我不明白这一点。 这是理解问题还是java/eclipse问题?
我是个新手。我已经编写了这段代码,它显示那里存在资源泄漏 这是什么意思?抱歉,我太天真了。
我使用一个用不同长度的不同值填充字节数组。我使用方法。由于此方法继承自,因此可能会引发IOException。在中有一个方法不会引发IOException,因此我扩展了并覆盖方法,该方法现在也不会引发IOException: 对于扩展类,我在eclipse 4.5.1中得到了资源泄漏的警告,因为我没有关闭代码中的流。的情况并非如此。我的扩展类有什么问题,或者我需要添加什么来删除警告?我知道我可以将
我有一个连接到MySQL的服务方法,可以在中获取数据,最后在
我正在读取一个文件并将其内容存储在字符串中。代码给了我一个警告:Resource leak:。我如何解决它?
Eclipse(Juno)发出以下警告: