Wes, While I admit that testWhileIdle is a much better solution, I had figured that it would not be too expensive to set testOnBorrow for a simple reason: my impression from reviewing the code is that if you do not explicitly set the query string, DBCP just does a connection.isClosed() check, which should fail if the test was invoked. After ensuring the connection is open, DBCP will run your query (if it is not null). This is what I gathered from reading the code, but I may be wrong :).
Regards, Khawaja On Wed, Sep 17, 2008 at 2:58 PM, Wes Clark <[EMAIL PROTECTED]> wrote: > We don't use testOnBorrow because we return connections to the pool > after a select if not in an update transaction, so it would be too > expensive to run a query every time we borrow. > > -----Original Message----- > From: Khawaja Shams [mailto:[EMAIL PROTECTED] > Sent: Wednesday, September 17, 2008 2:35 PM > To: Commons Users List > Subject: Re: DBCP Returning Closed Connections > > Thanks Wes for the suggestion. Should I file a bug for testOnBorrow > not testing the connections properly? > > > > On Wed, Sep 17, 2008 at 1:11 PM, Wes Clark <[EMAIL PROTECTED]> wrote: > > > We've had the same problem on SQL Server. Set the "testWhileIdle" to > > test a few connections every so often. It will keep the connections > > alive. > > > > -----Original Message----- > > From: Khawaja Shams [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, September 17, 2008 12:40 PM > > To: [email protected] > > Subject: DBCP Returning Closed Connections > > > > Hello, One of our servers goes through periods of activity followed > by > > long idle durations. It appears as though after the server sits idle > > for a few hours, subsequent requests to the DBCP Pool return > > connections that have already been closed. This is a bit frustrating > > as I could not find a way to take that connection out of the pool, and > > > the same instance of the connection keeps getting returned to other > requests. > > The connection is to a MySQL server. I tried setting the testOnBorrow > > > variable to true (I am using > > BasicDataSource) before the first time I borrow the connection, but it > > > does not seem to have any impact. Does anybody have a work around or > > a hunch as to what I may be doing wrong? Thanks. > > > > > > Regards, > > Khawaja Shams > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
