web-dev-qa-db-ja.com

SpringDriverManagerDataSourceとApacheBasicDataSource

SpringDriverManagerDataSourceとApacheBasicDataSourceの違いは何ですか?それらのどれが好ましいですか、そしてどのような状況ですか?

ありがとうございました。

19
Nazar Sobchuk

春のドキュメント

このクラスは実際の接続プールではありません。実際には接続をプールしません。これは、本格的な接続プールの単純な代替として機能し、同じ標準インターフェイスを実装しますが、呼び出しごとに新しい接続を作成します。

J2EEコンテナの外部に「実際の」接続プールが必要な場合は、ApacheのJakarta CommonsDBCPまたはC3P0を検討してください。 Commons DBCPのBasicDataSourceとC3P0のComboPooledDataSourceは、完全な接続プールBeanであり、このクラスと同じ基本プロパティに加えて、特定の設定(最小/最大プールサイズなど)をサポートします。

また読む データベース接続の制御

SpringのJDBCレイヤーを使用する場合は、JNDIからデータソースを取得するか、サードパーティが提供する接続プールの実装を使用して独自のデータソースを構成します。人気のある実装は、Apache Jakarta CommonsDBCPとC3P0です。 Springディストリビューションの実装はテストのみを目的としており、プーリングは提供していません。

20
NINCOMPOOP

Spring DriverManagerDataSource APIから:

このクラスは実際の接続プールではありません。実際には接続をプールしません。これは、本格的な接続プールの単純な代替として機能し、同じ標準インターフェイスを実装しますが、呼び出しごとに新しい接続を作成します。 ==

言い換えれば、テストには問題ないかもしれませんが、実際のアプリケーションではApacheDBCPを使用します

3