如何在c3p0中返回连接

发布于 2024-11-02 17:27:44 字数 538 浏览 2 评论 0原文

我正在使用 c3p0 - ComboPooledDataSource。我如下初始化一次。

private void init() {
cpds = new ComboPooledDataSource();
cpds.setDriverClass(driverName);
cpds.setJdbcUrl(url);
cpds.setUser(userName);
cpds.setPassword(pwd);
}

我从池中获取连接,如下所示

public synchronized Connection getLocalConnection(String ipAddr)
    throws SQLException {
return cpds.getConnection();
}

,但我不确定当我完成执行查询时将连接返回到池是否是正确的方法。我想

conn.close()

只是将连接返回到池中,而不是真正关闭连接。 我是正确的还是有其他方法?请帮忙。

I am using c3p0 - ComboPooledDataSource. I am initializing once as below.

private void init() {
cpds = new ComboPooledDataSource();
cpds.setDriverClass(driverName);
cpds.setJdbcUrl(url);
cpds.setUser(userName);
cpds.setPassword(pwd);
}

I am getting a connection from the pool as below

public synchronized Connection getLocalConnection(String ipAddr)
    throws SQLException {
return cpds.getConnection();
}

But i am not sure whether its the right way to return the connection back to the pool when i finish executing a query. I guess the

conn.close()

just returns the connection back to the pool instead of REALLY CLOSING the connection.
Am i correct or is there any other way around? Pls help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遗心遗梦遗幸福 2024-11-09 17:27:44

这是初始化代码

private DataSource init() {

    DataSource unpooled = DataSources.unpooledDataSource(DB_URL, DB_USERNAME, DB_PASSWORD);

    Map<String, Object> overrideProps = new HashMap<String, Object>();

    overrideProps.put("maxPoolSize", MAX_POOL_SIZE);
    overrideProps.put("minPoolSize", MIN_POOL_SIZE);

    return DataSources.pooledDataSource(unpooled, overrideProps);
}

,您可以从数据源获得连接。

public Connection getConnection() throws SQLException {
    return dataSource.getConnection();
}

要关闭连接只需调用 close() 方法。

connection.close();

This is initializing code

private DataSource init() {

    DataSource unpooled = DataSources.unpooledDataSource(DB_URL, DB_USERNAME, DB_PASSWORD);

    Map<String, Object> overrideProps = new HashMap<String, Object>();

    overrideProps.put("maxPoolSize", MAX_POOL_SIZE);
    overrideProps.put("minPoolSize", MIN_POOL_SIZE);

    return DataSources.pooledDataSource(unpooled, overrideProps);
}

And you get connection from DataSource.

public Connection getConnection() throws SQLException {
    return dataSource.getConnection();
}

And to close the connection just call close() method.

connection.close();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文