JAVA问题:c3p0的数据库连接池技术中,如果我获取数据库连接的类中实现finalize()方法,并在方法中关闭

数据源,注意,是数据源。这样的话,数据库连接池的作用还存在吗?
因为,我是想,当这个方法调用的时候,数据源就关闭了,这样,连接池中的连接对象是不是就被释放了?

第1个回答  2015-03-08
两回事

用连接池的话,只释放但不要关闭连接,否则连接池就没有意义了

有些连接池做比较好,会重写 connection.close ,改成空操作之类的,以免被关闭追问

哦,那我用的是com.mchange.v2.c3p0.ComboPooledDataSource这个数据源类,这个是用连接池技术的吧?可是,为什么这个数据源对象返回的Connection实例是java.sql.Connection?java.sql.Connection类是原生的java连接类,肯定没有实现连接池机制吧?

追答

你怎么知道是 connection 而不是子类呢?

追问

看import啊。。。而且,数据源实例getConnection()方法返回的Connection对象就是java.sql.Connection对象啊。。。

追答

把继承、接口那个章节再去好好学学

相似回答