2

jdbc接続を処理するためのc3p0とdbcpについて読んでいて、多くの問題や、dbcpは死んでいるがc3p0はjdbc4を実行できないなどと言う人々を聞いています。しかし、これらの投稿が古くなっているかどうかはわかりません。

ここで、壊れた接続がどのように処理されるかを説明している BoneCP を見つけました。接続はラップされ、BoneCP はアプリケーションに渡される前に例外の事前チェックを行います。接続に問題がある場合、BoneCP はその接続をプールから削除します。

1.) これらすべてのプールには、そのような接続処理がありますか?

2.) この質問は何度も聞かれますが、2011 年からは答えが見つかりませんでした。次の 10 年間、またはそれ以上維持される新しいアプリケーションには、何を使用すればよいでしょうか。

4

1 に答える 1

2

1.) dbcp についてはわかりませんが、C3P0 に関しては、この機能は C3P0PooledConnection クラスに存在します (invoke メソッドを見てください。例外がキャッチされて処理されます。正確な処理の詳細が必要な場合は、それらを追加できます)。また、testOnCheckin/Checkout をドロップするために含まれているかどうかを知る必要があり、この動作が含まれていることを確認しました。

2.) 一方で C3P0 は多くのプロダクション サイトで広く使用されており、メンテナーは活発な開発を再開している一方で、BoneCP にはいくつかの非常に興味深い設計原則 (例としてプール シャーディング) があり、お世辞のベンチマーク。通常、接続プール ライブラリからかなり適切な間接性があるため (ほとんどの場合、依存関係は 1 つまたは 2 つの構成ファイルに含まれています)、1 つから開始し、実際のデータを使用してプロダクションを作成したら、それを最適化して比較することをお勧めします。別のライブラリ(もちろん最適化されています)。どちらのライブラリを選択しても、ニーズに十分対応できる可能性があります。

于 2013-04-25T08:05:07.053 に答える