如何关闭java.sql.DataSource

Mik*_*e Q 10 java datasource c3p0

我们有一个按日期划分数据的系统.因此,例如在SqlServer中,我们每月有一个数据库.每个月分区使用包含在C3P0连接池DataSource中的Jdbc驱动程序数据源.

经过一段时间后,分区的日期范围变得足够大,我们想要使其脱机.在这种情况下,我们只从可用列表中删除相关月份的DataSource.但是,理想情况下,当离线时我想"关闭"DataSource,以便池放弃所有与DB的连接.

DataSource没有密切的方法让我打电话所以我不知道如何清理它.

有什么建议?

Jon*_*eet 10

你没有关闭DataSource- 你关闭了a 返回的连接DataSource.它DataSource本身永远不会"开放".

我希望游戏池在超时之后放弃打开连接,所以我建议你不要担心它:)如果你需要强行关闭连接,你需要保持对连接池的引用本身并直接使用c3p0提供的任何设施.


sud*_*ode 7

看起来如果使用C3PO 池化 DataSource,那么您可以使用DataSources.destroy(DataSource)释放与DataSource关联的线程和连接.