[
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)