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));
         }
 


Reply via email to