声纳鱿鱼:S2095如果方法返回连接

问题描述 投票:0回答:1

返回Connection使用的方法是常见的做法,例如,在光速的HikariConnectionProvider

public Connection getConnection() throws SQLException
   {
      Connection conn = null;
      if (this.hds != null) {
         conn = this.hds.getConnection();
      }   
      return conn;
   }

但是声纳发出警告关闭连接

实现Closeable接口,或者其超接口,AutoCloseable连接,流,文件和其他类,需要使用后关闭。此外,这千钧一发必须由在finally块否则异常可能保持通话被制成。

我想回到一个连接后来我才可以使用,所以我不能在这些方法中关闭

如何/如果我能避免对主要方法,例如警告返回有效连接?

编辑增加了一个假阳性错误的声纳社区:S2095 report on method return Connection

java sonarqube database-connection sonarlint
1个回答
0
投票

从技术上讲,SonarQube(在这种情况下,SonarJava分析仪)没有保证此方法返回的连接将最终被关闭 - 因此这个问题。

如果你有信心,你的代码库拥有所有必要的资源清洗码到位别的地方,在这里我的建议是在SonarQube UI,以纪念这个特殊的问题,因为Won't fix

© www.soinside.com 2019 - 2024. All rights reserved.