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'.
TIA
Swami
Larry Young <[EMAIL PROTECTED]> 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?
TIA. Swami
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
