我正在使用Hibernate和C3P0来管理我的连接。 我还有一个线程来做数据库操作。
问题是当我从tomcat取消部署我的webapp时,我的线程正确退出,但是连接池仍然存在,mysql中仍有连接,我认为它们是由C3P0管理的。
有没有办法强制C3P0关闭所有这些连接?
由于
答案 0 :(得分:0)
检查PooledDataSource对象,它有一个名为hardReset
的方法。它的规格是
立即销毁与此DataSource关联的所有池化和签出的连接。 PooledDataSource在第一次连接获取之前被重置为其初始状态,没有任何池处于活动状态,但已为请求做好准备。
我认为这应该做你想要的。