[ 
https://issues.apache.org/jira/browse/DBCP-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13903187#comment-13903187
 ] 

Mark Thomas commented on DBCP-357:
----------------------------------

I have switched to a prepared statement for the validation query. There is  
10-15% improvement in the time taken to validate a connection.

I've checked the JDBC 4.1 specification and implementing isValid() correctly is 
mandatory. While this means the validation query configuration option could be 
dropped entirely, I intend to make the following change:
If one or more of the testXxx properties is true, test the connection at the 
appropriate point(s) using isValid() unless validationQuery is set in which 
case use that rather than isValid.

> Connection validationQuery mechanism should be replaced by new method 
> connection#isValid()
> ------------------------------------------------------------------------------------------
>
>                 Key: DBCP-357
>                 URL: https://issues.apache.org/jira/browse/DBCP-357
>             Project: Commons Dbcp
>          Issue Type: Improvement
>    Affects Versions: 1.4, 1.4.1
>            Reporter: Philippe Mouawad
>              Labels: PERFORMANCE
>             Fix For: 2.0
>
>
> Hello,
> Current method of connection validation relies on validationQuery.
> This method has a rather big performance impact on the DB (CPU, for example 
> 3% with SELECT 1 FROM DUAL even with Oracle 10G FAST DUAL) and make an 
> additional query for each borrow (when testOnBorrow is true).
> Wouldn't it be better to use new JDBC 4 method isValid which relies on Driver 
> check ? (Oracle would for example use its internal method ping)
> Thank you
> Philippe
> http://www.ubik-ingenierie.com



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to