c3p0连接检查

5

我正在尝试第一次使用c3p0实现解决方案。我了解如何初始化连接池并从池中“checkout”一个连接,如下:

ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass(driverClass);
cpds.setJdbcUrl(url);
cpds.setUser(username);
cpds.setPassword(password);
Connection conn = cpds.getConnection(username, password);

但我在寻找如何将已使用的连接“签入”以返回到池中时遇到了麻烦。 我该怎么做? 我做错了什么吗?

2个回答

6

释放操作对用户来说是完全透明的。如需进一步解释,请参见此处

确保调用close()方法关闭连接并不再持有其他引用(这可以避免正确的垃圾回收)。


该链接讨论的是“清理c3p0 PooledDataSources”,而不是释放连接...也许链接自2010年以来已经更改了.... - OhadR

4

我相信当你关闭连接时,它会被返回到连接池中。


2
我在想这是否是这种情况。所以数据源并没有真正关闭,我猜测c3p0只是包装了数据源的Connection实现,拦截close()调用并重用Connection。这样说对吗? - jtbradle

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