3

私は接続プール(API:http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/PoolingDataSource.html)としてPoolingDataSourceを使用したいと思いますが、もはやそれが必要なくなったときにプールと何をするべきかわかりません。新しいデータベースに接続し、古いプールの接続をもう必要としない場合はどうすればよいですか?プールにはクローズメソッドはありません。JavaでApache Commons DBCPプールを正しく破棄するにはどうすればよいですか?

答えて

3

新しいプールを作成するために必ずしもこのプールを強制終了する必要はありません。

maxIdle、timeBetweenEvictionRunsMillisおよびminEvictableIdleTimeMillisパラメータ(hereを参照)を使用して接続を管理し、アイドル接続が適切な時間内に閉じられるようにすることができます。

または、これらのパラメータをプログラムで設定し、PoolingDataSourceを作成するときに使用することができます。GenericObjectPoolそれには強制的にclose()メソッドがあります。

0

どのような種類のプールを使用していますか? AbandonedObjectPoolを使用している場合は、コモンズプールのGenericObjectPoolのサブクラスで、close()メソッドがあります。

+0

私は質問で言ったように私はPoolingDataSourceを使用しています。私はAPIドキュメントにもリンクしています。 – Buttons840

2

ご質問に直接お答えして申し訳ありませんが、ではなく、をDBCPを使用してお勧めしますか?それにはいくつかの重大な問題がありました。他の図書館はこれを学び、改善しました。

そこにはmuch better poolsがあります。

+1

かなり正確ですが、この回答が提供されて以来、DBCPは積極的に維持されていることに注意してください。 –

関連する問題