我有一个连接到MySQL的服务方法,可以在ResultSet
中获取数据,最后在中关闭它的
PreparedStatement
,但是STS在返回语句中显示警告
潜在的资源泄漏:此位置可能无法关闭结果集
方法:
public boolean checkData() {
Connection dbConnection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
boolean status = false;
try {
dbConnection = icrud.getConnection();
preparedStatement = dbConnection.prepareStatement("query on table");
resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
status = resultSet.getBoolean("STATUS");
}
return status; //Potential resource leak warning shows here.
} catch (Exception e) {
LOGGER.error("Exception Occurred:: " , e);
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
preparedStatement = null;
}
} catch (SQLException e) {
LOGGER.error("Exception Occured while Closing statement" , e);
}
try {
if (dbConnection != null) {
dbConnection.close();
dbConnection = null;
}
} catch (SQLException e) {
LOGGER.error("Exception Occured while closing connection" , e);
}
}
return status;
}
根据文件,
关闭语句对象时,其当前结果集对象(如果存在)也将关闭。
所以我在最后关闭
语句
虽然它显示警告。我已经检查了最后关闭结果集仍然警告不关闭。
是假阳性吗?还是我做错了什么?
您正在返回“状态”,但未关闭连接。在返回语句时,不会执行“finally”子句。
eclipse“潜在资源泄漏”警告不正确。 没有警告: 警告:潜在资源泄漏:“此位置可能未关闭响应” 为什么第二种方法会引起警告? 谢谢!
Eclipse Java警告:资源泄漏:“Unassigned Closeable Value”从不关闭 漏在哪里?
Eclipse(Juno)发出以下警告:
在中,我收到了一个警告,我不明白这一点。 这是理解问题还是java/eclipse问题?
大家晚上好。我是一个使用Java编程的完全初学者,我正在学习“扫描仪”,但是当我在Eclipse中键入这个基本代码时,我收到一条消息说“资源泄漏:‘扫描仪’永远不会关闭。 我做错了什么?