关闭Sonar中的资源违规

raj*_*esh 2 java database database-connection sonarqube

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

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

Ensure that resources like this Statement object are closed after use
Run Code Online (Sandbox Code Playgroud)

有没有办法让Sonar知道这些是否得到处理?

使用的档案是'Sonar Way'

Fab*_*eam 5

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

您还可以尝试激活可能更智能的Findbugs规则.请参阅我们的Sonar演示实例规则- Nemo.