commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Trenton D. Adams" <tre...@athabascau.ca>
Subject Re: [dbcp] abandoned connection removal and logging not working
Date Fri, 25 Feb 2005 21:56:45 GMT
Joe Reger, Jr. wrote:
> Hi,
> 
> The AbandonedConfig object appears to be deprecated.  In planning for future
> versions of dbcp, should I remove all usages of AbandonedConfig,
> AbandonedObjectPool, etc?  If I do remove these usages, will my code not
> function properly?  When it's deprecated will it be replaced with something?
> Or folded into one of the other classes?
> 
> Thanks for sharing your code... it's exactly what I was looking for.

I was told that it is deprecated until they can find a better way of 
doing the abandoned connection code.  So yes it's being removed, but 
being kept at the same time. :)

Personally, I'm leaving mine the way it is until they re-engineer it. 
It's really only a small section of code to change when they've finally 
got their part done, so I figured, what the heck. :)

> 
> Best,
> 
> Joe Reger
> 
> -----Original Message-----
> From: Trenton D. Adams [mailto:trenta@athabascau.ca] 
> Sent: Thursday, February 24, 2005 2:03 PM
> To: Jakarta Commons Users List
> Subject: Re: abandoned connection removal and logging not working
> 
> I looked in the AbandonedObjectPool code and found the following.
> 
>         if (config != null
>                  && config.getRemoveAbandoned()
>                  && (getNumIdle() < 2)
>                  && (getNumActive() > getMaxActive() - 3) ) {
>              removeAbandoned();
> 
> So, I never came close to the abandoned connections being removed because my
> max active was set to 20 or something, and I had only a couple of dangling
> connections.  I thought this would be done in a background thread, but I
> guess not.
> 
> Trenton D. Adams wrote:
> 
>>I have the following code, and it doesn't clean up abandoned 
>>connections.  Anybody have an idea of what I am doing wrong?
>>
>>    AbandonedConfig abandonedConfig;
>>    ObjectPool connectionPool;
>>    ConnectionFactory connectionFactory;
>>    PoolableConnectionFactory poolableConnectionFactory;
>>    PoolingDriver driver;
>>
>>    // setup the abandoned configuration
>>    abandonedConfig = new AbandonedConfig();
>>    abandonedConfig.setLogAbandoned(true);
>>    abandonedConfig.setRemoveAbandoned(true);
>>    abandonedConfig.setRemoveAbandonedTimeout(60);
>>
>>    // setup the AbandonedObjectPool
>>    connectionPool = new AbandonedObjectPool(null, abandonedConfig);
>>    ((GenericObjectPool)connectionPool).setMaxActive(maxConn);
>>    ((GenericObjectPool)connectionPool).setMaxIdle(maxFree);
>>    ((GenericObjectPool)connectionPool).setTestWhileIdle(true);
>>    ((GenericObjectPool)connectionPool).setWhenExhaustedAction(
>>        GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
>>    ((GenericObjectPool)connectionPool).setMaxWait(30);
>>    ((GenericObjectPool)connectionPool).setTestOnBorrow(true);
>>    ((GenericObjectPool)connectionPool).setTestOnReturn(true);
>>
>>((GenericObjectPool)connectionPool).setTimeBetweenEvictionRunsMillis(1
>>0000);
>>
>>    ((GenericObjectPool)connectionPool).setNumTestsPerEvictionRun(10);
>>    
>>((GenericObjectPool)connectionPool).setMinEvictableIdleTimeMillis(10);
>>
>>    connectionFactory = new DriverManagerConnectionFactory(url, user, 
>>password);
>>    poolableConnectionFactory = new PoolableConnectionFactory(
>>        connectionFactory,connectionPool,null,
>>        "SELECT 'ping' FROM dual",false,false,
>>        Connection.TRANSACTION_SERIALIZABLE, null, abandonedConfig);
>>    try
>>    {
>>      Class.forName("org.apache.commons.dbcp.PoolingDriver");
>>      dbcpURL = "jdbc:apache:commons:dbcp:" + name;
>>      driver = (PoolingDriver) DriverManager.getDriver(dbcpURL);
>>      driver.registerPool(name, connectionPool);
>>    }
>>    catch (Exception exception)
>>    {
>>      RemoteBannerServer.log(exception, "error creating DBCP 
>>connection pool");
>>    }
> 
> 
> 
> --
> Trenton D. Adams
> Web Programmer Analyst
> Navy Penguins at your service!
> Athabasca University
> (780) 675-6195
> 
> __ 
>     This communication is intended for the use of the recipient to whom it
>     is addressed, and may contain confidential, personal, and or privileged
>     information. Please contact us immediately if you are not the intended
>     recipient of this communication, and do not copy, distribute, or take
>     action relying on it. Any communications received in error, or
>     subsequent reply, should be deleted or destroyed.
> ---
> 
> ---------------------------------------------------------------------
> 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
> 


-- 
Trenton D. Adams
Web Programmer Analyst
Navy Penguins at your service!
Athabasca University
(780) 675-6195
:wq!

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message