0

こんにちは、データベース接続を減らす方法を教えてください。Java と jdbc で 1 つのアプリケーションを開発し、接続プーリングの概念を使用しています。しかし、私のアプリケーションでは、この 200 接続のみを開くために MaxActive=200 を与えています。しかし、私の場合、アプリケーションが開始されると、1400 データベース接続が開かれます。処理方法を教えてください。

  <Resource
            name="jdbc/tm4u"
            auth="Container"
            type="javax.sql.DataSource"
            driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
            url="jdbc:sqlserver://192.168.1.230:1433;databaseName=XX;User=abc;Password=****;selectMethod=cursor"
        username="abc"
        password="******"
                maxActive="200"
      maxWait ="100"

       maxIdle="10"
            />

上記のコードは JNDI 構成ファイルです。

4

1 に答える 1

0

基本的に、接続オブジェクトで close メソッドを呼び出す必要があります。

  1. 最善の答えは、接続を一度開いて、接続オブジェクトを保存することです。ドライバ マネージャ (DriverManager.getConnection) または JDBC ドライバ固有のクラス (SQLConnect.getConnection()) から最初に Connection オブジェクトを取得するときに、接続を開きます。必要に応じて、このオブジェクトをクラスのインスタンス変数または静的変数に保存します。アプリケーションを終了する直前に接続を閉じます (connection.close())。

  2. シングルトン パターンを使用して、クラスの静的インスタンスを実装します。シングルトンのコンストラクターで接続を開き、インスタンス変数として保存します。接続が必要なときはいつでも、シングルトン オブジェクトのメソッドを呼び出します。シングルトンのデストラクタで connection.close() メソッドを呼び出します。

  3. 接続を開くときはいつでも、そこからのすべてのステートメントの処理が完了したら、close() を呼び出します。

于 2012-04-16T18:01:56.030 に答える