返回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
从技术上讲,SonarQube(在这种情况下,SonarJava分析仪)没有保证此方法返回的连接将最终被关闭 - 因此这个问题。
如果你有信心,你的代码库拥有所有必要的资源清洗码到位别的地方,在这里我的建议是在SonarQube UI,以纪念这个特殊的问题,因为Won't fix
。