Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声纳中的近距离资源冲突_Java_Database_Database Connection_Sonarqube - Fatal编程技术网

Java 声纳中的近距离资源冲突

Java 声纳中的近距离资源冲突,java,database,database-connection,sonarqube,Java,Database,Database Connection,Sonarqube,在我的Dao类中,为了关闭db资源,我编写了一个小函数,它接收ResultSet、Connection和Statement对象并关闭它 我从每个DB访问方法的finally块中调用它。但声纳显示这些是违规行为,比如: Ensure that resources like this Statement object are closed after use 有没有办法让声纳知道这些都已经处理好了 使用的配置文件是“Sonar Way”此规则由PMD引入Sonar,它非常基本:它只检查finall

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

我从每个DB访问方法的finally块中调用它。但声纳显示这些是违规行为,比如:

Ensure that resources like this Statement object are closed after use
有没有办法让声纳知道这些都已经处理好了


使用的配置文件是“Sonar Way”

此规则由PMD引入Sonar,它非常基本:它只检查finally块中是否有“myResource.close()”调用。句号。如果你广泛使用你的“小函数”,那么你应该考虑取消这个规则,因为它会产生过多的误报。
您还可以尝试激活可能更智能的Findbugs规则。请参见

上的规则这是规则。将此与您所做的进行比较。我认为我将接受误报,而不是关闭此选项。您还可以添加一个//NOPMD comment(),注意它仅根据类的名称执行此类检查。如果您有自己的ResultSet,它甚至可能没有close方法警告被触发。