Hello, Okay, I take this back. It turns out that in the createDataSource
method, BasicDataSource class sets all of the test flags to false if it the
validation query is null. I will set our code to do testWhileIdle and set
the validationQuery to be valid. Thanks again everyone.
Regards,
Khawaja Shams
On Thu, Sep 18, 2008 at 2:21 AM, Khawaja Shams <ksshams@gmail.com> wrote:
> 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 <wclark@guidewire.com> 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:ksshams@gmail.com]
>> 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 <wclark@guidewire.com> 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:ksshams@gmail.com]
>> > Sent: Wednesday, September 17, 2008 12:40 PM
>> > To: user@commons.apache.org
>> > 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: user-unsubscribe@commons.apache.org
>> > For additional commands, e-mail: user-help@commons.apache.org
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>>
>>
>
|