java - 远程数据库连接长时间打开

标签 java database sql-server-2008 connection database-connection

我正在通过远程连接在 mssql server 2008 数据库上执行一些 CRUD。我在 Java 中有业务逻辑,在finally block 中具有用于连接、语句和结果集 close() 的紧凑代码。
我的疑问是,即使我完成工作,连接端口仍然打开,并且大约需要 20 分钟才能关闭所有连接。我可以使用 netstat -a 命令查看打开的连接。
我需要快速关闭连接,因为每个操作都会多次打开/关闭连接。因此我看到大量连接打开。长时间保留业务逻辑已经关闭的如此多不需要的连接是非常不安全且成本高昂的。 我正在使用最新的 jtds.jar 文件。任何提示或建议将不胜感激。
谢谢,
阿克谢

Connection conn = null;
PreparedStatement ps = null;

ResultSet rs = null;

try {
    // Do stuff
    ...

} catch (SQLException ex) {
    // Exception handling stuff
    ...
} finally {
    if (rs != null) {
        try {
            rs.close();
        } catch (SQLException e) { /* ignored */}
    }
    if (ps != null) {
        try {
            ps.close();
        } catch (SQLException e) { /* ignored */}
    }
    if (conn != null) {
        try {
            conn.close();
        } catch (SQLException e) { /* ignored */}
    }
}

最佳答案

抱歉大家,感谢您抽出时间回答我的问题。 连接关闭是一个框架调用,未正确关闭。我无法访问它,所以我认为这不是问题。再次感谢您的宝贵时间和指导。

关于java - 远程数据库连接长时间打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11038836/

相关文章:

Java - 调用方法导致 IllegalAccessError

java - Play 2.6.x Java 应用程序在开发模式下工作但在生产模式下失败

database - 5亿条记录的大数据库

asp.net - 我如何编写以下查询是参数化查询?

sql - SQL Server 2008中的时序比较

java - 如何创建两个轴上都有日期的折线图?

java - 是否有可能使 Eclipse p2 配置机制在*本地*运行?

sql - 表扫描与添加索引——哪个更快?

SQL Server 多枢轴

sql - T-SQL 分割字符串