複数のスレッドが同じ接続を使用しようとするときに DBCP が機能することを理解してください。
スレッドごとに新しい接続が生成されますか? この場合、接続プールを使用する利点はありません。
複数のスレッドが同じ接続を使用しようとするときに DBCP が機能することを理解してください。
スレッドごとに新しい接続が生成されますか? この場合、接続プールを使用する利点はありません。
JDBCConnection
は、定義上、シングルスレッドです。DataSource
1 つのスレッドが(DBCP またはその他の実装)から接続を取得すると、他のスレッドは、その接続が解放される (閉じられ、実際に接続がプールに戻される) まで、その接続にアクセスできません。
DBCP は、複数のスレッドから同じ接続を使用することを妨げません。ただし、複数のスレッドDataSource
が同時に新しい接続を要求すると、必要な数の接続が作成されます。同時スレッドの数が、生成できる最大構成接続数を超えるgetConnection()
と、ブロックまたは失敗します。