开发者

how to return a connection in c3p0

开发者 https://www.devze.com 2023-02-27 18:44 出处:网络
I am using c3p0 - ComboPooledDataSource. I am initializing once as below. private void init() { cpds = new ComboPooledDataSource();

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开发者_JS百科 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.


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();
0

精彩评论

暂无评论...
验证码 换一张
取 消