[解決済み】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の休眠を解く 現在では、再び活発に開発されているプロジェクトとなっています。したがって、私の元の投稿は古くなっているかもしれません。
とはいえ、この新しくアップグレードされたライブラリの性能はまだ体験していませんし、最近のアプリのフレームワークでデファクトになったという話もまだ聞いてません。
関連
-
[解決済み] getContentPane()は具体的に何をするのですか?
-
[解決済み] javaで部分クラスを実装する方法
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] java.util.concurrent.ExecutionException 例外をどのように処理しますか?
-
[解決済み] JavaにおけるMouseListenerとMouseAdapterの違いについて
-
[解決済み] JDBC タイプの方言マッピングがありません。1111
-
[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6
-
[解決済み] 文字列の巻き方
-
[解決済み] x--やx++はここで何をするのですか?
-
[解決済み] すべての(またはほとんどの)データベースで動作する効率的なSQLテストクエリまたは検証クエリ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaでFileFilterを作るには?
-
[解決済み] このフォーマット(Tue Jul 13 00:00:00 CEST 2010)の日付をJavaの日付に変換する方法(文字列はalfrescoのプロパティに由来しています)
-
[解決済み] Java Genericメソッドをstaticにするには?
-
[解決済み] double 型を Int 型に変換、切り捨て
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] java.sql.SQLRecoverableException: IO エラーです。NL Exceptionが発生しました
-
[解決済み] Javaコンパイラーエラー:ステートメントではありません
-
[解決済み] x--やx++はここで何をするのですか?
-
[解決済み] java.sql.SQLException: - ORA-01000: 開いているカーソルの最大数を超えました。