commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dirk Verbeeck <>
Subject Re: DBCP Pool - Releasing connections
Date Wed, 03 Dec 2003 18:08:42 GMT
All the test* properties require the validation parameter to be set.
Test while idle does the test in background if the overhead of testOnBorrow is 
too large.

But your best bet is to close the datasource like Larry suggested
or to restart when the database is available again .

-- Dirk

Swaminathan Gurumoorthy wrote:

> Can I use 'testOnBorrow' to validate the connection. The documentaion says it is 'true'
by default. Will this parameter work only with 'validationQuery '?
> I wish DBCP has a 'releaseStale' parameter similar to the 'removeAbandoned' . This may
eliminate the overhead on 'testOnBorrow'.
> Swami
> Larry Young <> wrote:
> Swami,
> When I detect a problem like this in my code, I call "close()" on 
> the datasource, which in my case is a BasicDataSource. This blows away all 
> currently held connections in the pool. If you're in a multi-threaded 
> world like in a web app, you might want to be a bit careful of how you do 
> this to avoid any race conditions, although if one connection is dead, more 
> than likely they all will be.
> Another thing that I do is I have an agreement with our AS400 DB 
> folks that when they are going down, they send me a message so I can handle 
> this type of behavior a bit more gracefully.
> --- regards ---
> Larry
> At 10:07 AM 12/2/03, you wrote:
>>I need some help on how to refresh DB connection using DBCP. We have a web 
>>application built on Struts running on Tomcat 4.1.18 and talking to a 
>>AS400 database. We use commons DBCP for datasoures.
>>Our database goes down every morning at 5 AM for maintenanace because of 
>>which Tomcat/DBCP loses its connection. When I come in the morning and 
>>try to access the app ,I usually get a connection exception because 
>>datasource.getConnection() craps out. I usually restart Tomcat to refresh 
>>all connections ( the project is still under development and hence I get 
>>away with it).
>>Is there a parameter setting by which I can ask DBCP to see if the 
>>connection is stale (like in the case of a DB shutdown) and if so release 
>>all connections or even better try 'n' times to refresh before releasing them?
>>Intuitively I thought the 'minIdle=0' wud do the trick but it is set to 
>>zero by default anyway. Will setting removeAbandoned to true help my cause?

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message