我正在使用javax.sql.rowset.CachedRowSet
我在代码中传递的对象。在传递给我的代码的其余部分ResultSet
之前,它被填充的那个是关闭的CachedRowSet
(仅用于阅读,我不会以任何方式更新或修改它):
public CachedRowSet getData(String query) throws SQLException {
RowSetFactory aFactory = RowSetProvider.newFactory();
CachedRowSet crs = aFactory.createCachedRowSet();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
crs.populate(rs);
} finally {
DbUtils.closeQuietly(null, stmt, rs);
}
return crs;
}
鉴于上述设置,当我完成它时,它是否close()
也有意义?这个答案似乎表明没有伤害但没有解决,或者两者之间的区别。我想我可以做 a后跟 a以防万一,但我想了解更多。请注意,我什至序列化了该对象,然后从另一个模块中将其内部化,因此我也可以在没有任何意义的重新内部化的实例上调用和。release()
CachedRowSet
close()
release()
release()
close()
CachedRowSet
String
close()
release()