我有一個像波紋管代碼段:可能Findbug假陽性 「obl_unsatisfied_obligation」
try (UnitOfWork unitOfWork = datasource.getConnection()) {
ResultSet resultset = untiOfWork.getStatement().getResultSet();
unitOfWork.queueToClose(resultSet);
...
}
的的UnitOfWork是AutoClosable。所以裏面的UnitOfWork
close()
方法就是這樣。
@Overide
public void close() {
for (AutoClosable closable : queueToClose) {
closable.close();
}
connection.close();
}
現在FindBug正在抱怨ResultSet未被關閉。這是否爲假?這是不好的模式?