如何在Java中正确销毁Apache Commons DBCP连接池?

3
3个回答

3
您不必杀死此池便可创建新池。
您可以使用maxIdle、timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis参数(详见这里),管理其中的连接,以确保闲置连接在合理时间内关闭。
或者,您可以以编程方式配置一个带有这些参数的GenericObjectPool,并在创建PoolingDataSource时使用它。如果需要,该对象具备close()方法,可以强制关闭。

2

很抱歉没有直接回答你的问题,但我可以建议不要使用DBCP。它有许多严重的问题,其他库已经从中吸取教训并进行了改进。

更好的连接池可用。


1
尽管相当准确,但应注意自此回答以来,DBCP一直得到积极维护。 - Brett Ryan

1

我正在使用PoolingDataSource,就像我在问题中所说的那样。我还链接到了它的API文档。 - Buttons840

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接