关闭Sonar中的资源违规

时间:2013-02-21 09:48:25

标签: java database database-connection sonarqube

在我的Dao类中,为了关闭数据库资源,我编写了一个小函数,它接受ResultSet,Connection和Statement对象并关闭它。

我从我拥有的每个数据库访问方法的finally块中调用它。但是Sonar将这些视为违规行为:

Ensure that resources like this Statement object are closed after use

有没有办法让Sonar知道这些是否已被处理?

使用的配置文件是'Sonar Way'

1 个答案:

答案 0 :(得分:5)

PMD将此规则引入Sonar,它非常基本:它只检查finally块中是否存在“myResource.close()”调用。完全停止。如果您正在广泛使用“小功能”,那么您应该考虑停用此规则,因为它会产生太多的误报。

您还可以尝试激活可能更智能的Findbugs规则。请参阅our Sonar demo instance - Nemo.

上的规则