2009 年 1 月 29 日のエリクソンによる次のリンクを見つけました。
DBCP (Apache Commons Database Connection Pooling) はまだ関連していますか?
「DBCP には重大な欠陥があります。特に、非常に多くのドライバーが DataSource でのプーリングをネイティブにサポートしている場合、DBCP は運用アプリケーションには適していないと思います。
私の場合、ラクダの背中を壊したストローは、データベースへの新しい接続試行が行われている間ずっとプール全体がロックされていることに気付いたときでした。そのため、接続が遅くなったりタイムアウトになったりするようなことがデータベースに発生した場合、他のスレッドがプールに接続を戻そうとすると、データベースの使用が完了していても、他のスレッドがブロックされます。」
この投稿以降、dbcp で多くの変更または改善が行われたかどうか疑問に思っていました。実稼働システムでこの正確な問題が発生しています。
dbcp に代わるものはありますか? データベース接続フレームワークで使用しています...基本的には、エンジニアが hibernate を書き直すのが楽しいだろうと考えたフレームワークを継承しました。聞かないでください...それは長くて下品な話です。とにかく、データベースが遅い/ダウンしているときにプールに接続を返す際にこれらの問題が発生しています。アイデア、提案、代替案はありますか?