在我的Dao类中,为了关闭数据库资源,我编写了一个小函数,它接受ResultSet,Connection和Statement对象并关闭它。
我从我拥有的每个数据库访问方法的finally块中调用它。但是Sonar将这些视为违规行为:
Ensure that resources like this Statement object are closed after use
有没有办法让Sonar知道这些是否已被处理?
使用的配置文件是'Sonar Way'
答案 0 :(得分:5)
PMD将此规则引入Sonar,它非常基本:它只检查finally块中是否存在“myResource.close()”调用。完全停止。如果您正在广泛使用“小功能”,那么您应该考虑停用此规则,因为它会产生太多的误报。
您还可以尝试激活可能更智能的Findbugs规则。请参阅our Sonar demo instance - Nemo.
上的规则