私のアプリケーションは、複数のスレッドで複数のクエリを実行します。
現在、すべてのクエリに対して新しい接続を作成しており、プールを使用して効率を向上させたいと考えています。
Apache DBCP プールは複数のスレッドで同時に動作できますか? または、スレッドごとにいくつかの同期されたメソッドで「ブロック」されますか?
ブロックされた場合、他のものを使用できますか?
アップデート
この記事では:リンクは次のように 述べています:
すべての Oracle JDBC API メソッドが同期されるため、2 つのスレッドが接続オブジェクトを同時に使用しようとすると、一方は他方が使用を終了するまで待機することを余儀なくされます。
だから私はDBCPがそれに対処できないと思いますか?
また、このシナリオではプールが役に立たないことも認識しています。これは、各スレッドが接続を要求し、スレッドが毎回新しい接続を生成するためです (一部のスレッドが終了して接続をプールに返すまで)。