Tôi đang sửa đổi mã ứng dụng của mình để tôn trọng các quy tắc pmd. Tôi đã có một lỗi Resource Đóng trong mã này:Làm cách nào để tránh vi phạm PMD CloseResource?
Connection c = DataSourceUtils.getConnection(dataSource);
Statement request = null;
try {
request = c.createStatement();
request.execute(loadDataRequest);
} catch (SQLException e) {
dataLogger.error(e);
throw e;
}
Vì vậy, tôi đã tìm kiếm và tìm thấy một tiện ích apache để tránh nó: DButils Mã của tôi trở nên như thế này
Connection c = DataSourceUtils.getConnection(dataSource);
Statement request = null;
try {
request = c.createStatement();
request.execute(loadDataRequest);
} catch (SQLException e) {
dataLogger.error(e);
throw e;
} finally {
DbUtils.closeQuietly(request);
DbUtils.closeQuietly(c);
}
Tuy nhiên, tôi vẫn đang gặp cảnh báo PMD trong nhật thực và báo cáo sonar! Bạn có bất kỳ ý tưởng làm thế nào để sửa chữa vĩnh viễn?