connection - 如果应用程序崩溃,Java JRE 会关闭连接吗?

标签 connection java

如果应用程序崩溃或退出但未关闭其 Activity 连接,Java JRE 是否会关闭数据库连接?如果不是,数据库有责任让这些连接超时吗?

我知道如果 Java 崩溃,那么数据库将需要暂停所有打开的连接,因为没有其他事情可以做这项工作。

编辑 额外的想法。如果部署在 Tomcat 中的 WAR 崩溃,Tomcat 服务器是否会清理打开的连接?

最佳答案

这真的取决于。

如果您的 JRE 本身崩溃,它可能无法关闭所有连接。如果只是您的应用程序崩溃,它可能会在释放资源时关闭连接。根据我的经验,大多数情况下似乎都是这种情况,只要 JRE 本身不死。最好的防御当然是正确的错误处理,并确保您打开的连接数不超过要求。

根据我的经验,最好在Tomcat中设置一个数据源,这样即使你的应用程序崩溃了,也不是开放资源的问题。我非常喜欢让我的应用程序服务器处理尽可能多的资源管理,这样我就可以更好地保护我免受有时冒险的代码的影响。

关于connection - 如果应用程序崩溃,Java JRE 会关闭连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680440/

相关文章:

java - 有时必须等待很长时间,直到 HttpClient.execute() 抛出异常

android - 在不连接任何 wi-fi 的情况下读取 Rssi 值

MySQL 服务器已在 CakePHP bake 控制台中消失

java - 如何在Java 8中替换以下代码?

java - 第一天 JDatePicker 1.3.4

Java-基于 Https 的 SOAP Web 服务

python - 通过 Excel VBA 运行 Python 脚本

sql-server - Zend Framework 2 Microsoft SQL Server 2008 数据库连接

java - 将 Kotlin 文件转换为 java,向其添加 java 代码并转换回 Kotlin 是否与直接将代码添加到 Kotlin 文件相同?

java - SimpleDateFormat.getTimeInstance 忽略 24 小时格式