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]
>
>

Reply via email to