0

リモートで接続して、mssql サーバー 2008 データベースでいくつかの crud を実行しています。私はJavaでビジネスロジックを持っており、接続、ステートメント、および結果セットclose()のタイトなコードをfinallyブロックに持っています。
私の疑問は、仕事を終えても接続ポートがまだ開いていて、すべての接続を閉じるのに約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 */}
    }
}
4

1 に答える 1

0

申し訳ありませんが、私の質問に答えるために時間を割いていただきありがとうございます。接続のクローズは、適切にクローズされていないフレームワーク呼び出しでした。私はそれにアクセスできなかったので、それは問題ではないと思いました。もう一度お時間をいただき、ご指導いただきありがとうございます。

于 2012-06-18T13:52:05.683 に答える