我们有一个古老而庞大的 Java EE 项目,由于编码错误,在某些地方数据库连接尚未正确关闭/或未在 catch/finally block 中清理。
我们已将数据库连接池限制为 100 个连接。有时会发生连接保持打开状态并且所有 100 个连接都已使用,因此应用程序挂起的情况。我正在尝试重组这个项目,显然,当我到达那里时,我会处理这个错误的代码,我想知道是否有任何轻量级的Java EE框架可以自动关闭这个打开的数据库连接,而无需编写conn.close()或session.close()。
也许像 Django 那样,每个数据库连接在每个请求/响应周期结束时都会关闭。
我确实知道我可以使用 p6spy 和 IronTrack SQL 等工具来查找无法关闭的语句,但我对框架更感兴趣,因为这个项目不使用任何框架,并且我正在尝试将此项目与框架集成。
最佳答案
Java 7 中的 try-with-resource 可能会有所帮助。 看看吧
http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html
这里Java 7 Automatic Resource Management JDBC (try-with-resources statement)你可以提出类似的问题。
检查是否检测连接泄漏。我相信,您会找到一些用于此目的的工具。
关于java - 需要帮助找出轻量级 Java EE 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9699434/