Spring DriverManagerDataSource と apache BasicDataSource の違いは何ですか? それらのどれが好ましく、どの状況で?
ありがとうございました。
Spring DriverManagerDataSource と apache BasicDataSource の違いは何ですか? それらのどれが好ましく、どの状況で?
ありがとうございました。
Springのドキュメントによると
このクラスは実際の接続プールではありません。実際には接続をプールしません。本格的な接続プールの単純な代替として機能し、同じ標準インターフェイスを実装しますが、呼び出しごとに新しい接続を作成します。
J2EE コンテナーの外部に「実際の」接続プールが必要な場合は、Apache の Jakarta Commons DBCP または C3P0 を検討してください。Commons DBCP の BasicDataSource と C3P0 の ComboPooledDataSource は完全な接続プール Bean であり、このクラスと同じ基本プロパティと特定の設定 (最小/最大プール サイズなど) をサポートします。
データベース接続の制御もお読みください
Spring の JDBC レイヤーを使用する場合、JNDI からデータ ソースを取得するか、サード パーティが提供する接続プールの実装を使用して独自のデータ ソースを構成します。一般的な実装は、Apache Jakarta Commons DBCP と C3P0 です。Spring ディストリビューションの実装は、テストのみを目的としており、プーリングは提供しません。
Spring DriverManagerDataSource API から:
このクラスは実際の接続プールではありません。実際には接続をプールしません。本格的な接続プールの単純な代替として機能し、同じ標準インターフェイスを実装しますが、呼び出しごとに新しい接続を作成します。
つまり、テストには問題ないかもしれませんが、実際のアプリケーションでは Apache DBCP を使用します