Author: rmannibucau Date: Mon Mar 25 15:00:29 2013 New Revision: 1460697 URL: http://svn.apache.org/r1460697 Log: avoiding to set testXXX attribute on tomcat jdbc pool if no validation query is set
Modified: tomee/tomee/branches/tomee-1.6.0/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java Modified: tomee/tomee/branches/tomee-1.6.0/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.6.0/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java?rev=1460697&r1=1460696&r2=1460697&view=diff ============================================================================== --- tomee/tomee/branches/tomee-1.6.0/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java (original) +++ tomee/tomee/branches/tomee-1.6.0/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java Mon Mar 25 15:00:29 2013 @@ -231,6 +231,27 @@ public class TomEEDataSourceCreator exte } private static PoolConfiguration readOnly(final PoolConfiguration pool) { + // if validationQuery is not filled disable testXXX + if (pool.getValidationQuery() == null || pool.getValidationQuery().isEmpty()) { + if (pool.isTestOnBorrow()) { + LOGGER.info("Disabling testOnBorrow since no validation query is provided"); + pool.setTestOnBorrow(false); + } + if (pool.isTestOnConnect()) { + LOGGER.info("Disabling testOnConnect since no validation query is provided"); + pool.setTestOnConnect(false); + } + if (pool.isTestOnReturn()) { + LOGGER.info("Disabling testOnReturn since no validation query is provided"); + pool.setTestOnReturn(false); + } + if (pool.isTestWhileIdle()) { + LOGGER.info("Disabling testWhileIdle since no validation query is provided"); + pool.setTestWhileIdle(false); + } + } + + // prevent overriding of the configuration return (PoolConfiguration) Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), CONNECTION_POOL_CLASS, new ReadOnlyConnectionpool(pool)); }