【问题标题】:c3p0 Connection Checkinc3p0 连接检查
【发布时间】:2011-01-07 08:36:16
【问题描述】:

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

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

但我无法找出如何“签入”已使用的连接以返回池中。我该怎么做呢?我在这里做错了什么吗?

【问题讨论】:

    标签: java database connection-pooling c3p0


    【解决方案1】:

    释放对用户来说是完全透明的。更多解释请见here

    请务必关闭()连接并且不再保留任何引用(这将避免正确的 GC)。

    【讨论】:

    • 链接在谈论“在 c3p0 PooledDataSources 之后清理”,而不是释放连接......也许链接自 2010 年以来已经改变......
    【解决方案2】:

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

    【讨论】:

    • 我想知道是不是这样。那么在数据源中是不是真的关闭了呢?我猜 c3p0 只是包装了数据源的 Connection 实现,拦截了 close() 调用并重用了 Connection。对吗?
    猜你喜欢
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 2013-08-20
    相关资源
    最近更新 更多