You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Scott Purcell <sp...@vertisinc.com> on 2005/04/14 15:46:50 UTC
DBCP package BasicDataSource question
Hello,
I finally figured out last night how to obtain a DataSource object in a class, and set enough properties to get a connection:
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUsername("javauser");
ds.setPassword("javadude");
ds.setUrl(connectURI);
then I get a Connection like so:
Connection conn = ds.getConnection()
I am good with all of this, and it works. Now where I am baffled is, where is the pool of connections. Did this create a pool? I know I had to set the commons-pool.jar in my path to get it to run. So does this class create a pool in the background? And if so, do I need to run a thread to shut them down? I am looking at the BasicDataSource javadocs and I see some methods like such:
setInitializeSize(int size)
setDefaultAutoCommit(boolean val)
etc.
But I am not sure which ones are for cleaning up "lost" or "dead" connections, etc. And would this simple configuration work for a simple web application?
Any input would be appreciated.
Thanks,
Scott K Purcell
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org
Re: DBCP package BasicDataSource question
Posted by Dirk Verbeeck <di...@pandora.be>.
The BasicDataSource class creates a pool for you based on the
properties you set (setMaxActive, ...)
http://jakarta.apache.org/commons/dbcp/xref/org/apache/commons/dbcp/BasicDataSource.html#797
To shutdown this pool call ds.close().
"lost" connections are called "abandoned" connections in DBCP config.
Removal of "dead" connections is done by using a validationQuery and
related config parameters.
See http://jakarta.apache.org/commons/dbcp/configuration.html for more
details.
You have the minimum configuration there. If you are going to use this
in a application then take a look at:
BasicDataSourceFactory.createDataSource(Properties properties)
Load all properties from a file into the properties object
(properties.load()) and create the DataSource using the factory.
http://jakarta.apache.org/commons/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSourceFactory.html
Same behaviour as setting the properties yourself.
-- Dirk
Scott Purcell wrote:
> Hello,
>
> I finally figured out last night how to obtain a DataSource object in a class, and set enough properties to get a connection:
>
> BasicDataSource ds = new BasicDataSource();
> ds.setDriverClassName("com.mysql.jdbc.Driver");
> ds.setUsername("javauser");
> ds.setPassword("javadude");
> ds.setUrl(connectURI);
>
> then I get a Connection like so:
> Connection conn = ds.getConnection()
>
>
> I am good with all of this, and it works. Now where I am baffled is, where is the pool of connections. Did this create a pool? I know I had to set the commons-pool.jar in my path to get it to run. So does this class create a pool in the background? And if so, do I need to run a thread to shut them down? I am looking at the BasicDataSource javadocs and I see some methods like such:
>
> setInitializeSize(int size)
> setDefaultAutoCommit(boolean val)
> etc.
>
> But I am not sure which ones are for cleaning up "lost" or "dead" connections, etc. And would this simple configuration work for a simple web application?
>
> Any input would be appreciated.
>
> Thanks,
>
> Scott K Purcell
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org