1. ホーム

[解決済み】JDBCでの接続プーリングオプション。DBCPとC3P0の比較 [閉店]。

2022-03-26 13:53:10

質問

Java/JDBCで利用可能な最良のコネクションプーリングライブラリは何ですか?

主な候補は2つ(フリー / オープンソース)考えています。

ブログや他のフォーラムでいろいろ読んでみたが、決断に至らなかった。

この2つに代わる適切な選択肢はありますか?

解決方法は?

DBCPは旧式で、プロダクショングレードではありません。しばらく前に、私たちはこの2つを社内で分析し、負荷と並行処理を生成するテストフィクスチャを作成し、実際の条件下での適合性を評価しました。

DBCPはテストアプリケーションで一貫して例外を発生させ、C3P0が例外なく処理できる性能レベルに到達するのに苦労しました。

また、C3P0はDBの切断やレジューム時の透過的な再接続を強固に処理しますが、DBCPはリンクが外れた場合、接続を回復することができませんでした。さらに悪いことに、DBCPはトランスポートが破壊されたアプリケーションに接続オブジェクトを返していました。

それ以来、私たちは4つの主要な高負荷のコンシューマー向けウェブアプリケーションでC3P0を使用しており、決して後戻りはしていません。

UPDATE 長い間、棚上げになっていたApache Commonsのメンバーが DBCPの休眠を解く 現在では、再び活発に開発されているプロジェクトとなっています。したがって、私の元の投稿は古くなっているかもしれません。

とはいえ、この新しくアップグレードされたライブラリの性能はまだ体験していませんし、最近のアプリのフレームワークでデファクトになったという話もまだ聞いてません。