在 Java 8 中释放打开的连接
Posted
技术标签:
【中文标题】在 Java 8 中释放打开的连接【英文标题】:Release open Connection in Java 8 【发布时间】:2019-07-18 08:39:50 【问题描述】:我有一个基于 JSP/Servlet 的应用程序,数据库团队抱怨打开的数据库连接增加。我怀疑使用后连接没有关闭。
我想按照 Java 8 中的建议通过初始化 try catch 块中的连接字符串来进行一些代码更改
我已经尝试在最后一个块中关闭连接,它工作正常
这是我要实现的代码,这会解决问题吗?有没有其他方法可以在使用后关闭打开的连接而几乎没有代码更改?
try(Connection con = DBConnectivity.openConnectionThread();
PreparedStatement ps1 = con.prepareStatement(sql1))
-----
------
【问题讨论】:
这是您代码中访问数据库的唯一的地方吗?你不在应用程序的其他部分使用 db? Try / Try-with-resources and Connection, Statement and ResultSet closing的可能重复 否 有多个地方初始化了连接。我正在使用连接池 public static final ThreadLocal你也应该关闭PreparedStatement
try(Connection con = DBConnectivity.openConnectionThread();
PreparedStatement ps1 = con.prepareStatement(sql1))
-----
------
【讨论】:
以上是关于在 Java 8 中释放打开的连接的主要内容,如果未能解决你的问题,请参考以下文章