poolConfig.setValidationQueryTimeout((int) getValidationQueryTimeout().get().toSeconds());
properties.setTimeBetweenEvictionRunsMillis(getIntProperty(config, "timeBetweenEvictionRunsMillis", 30000)); // 30s properties.setNumTestsPerEvictionRun(getIntProperty(config, "numTestsPerEvictionRun", 6)); properties.setValidationQueryTimeout(getIntProperty(config, "validationQueryTimeout", 0)); properties.setValidationInterval(getIntProperty(config, "validationInterval", 30000));// 30s properties.setRemoveAbandonedTimeout(getIntProperty(config, "removeAbandonedTimeout", 300));
} else if ("validationQueryTimeout".equalsIgnoreCase(elementKey)) { int value = Integer.parseInt(element.getValue()); poolProperties.setValidationQueryTimeout(value); } else if ("alternateUsernameAllowed".equalsIgnoreCase(elementKey)) { boolean value = Boolean.parseBoolean(element.getValue());
PoolProperties p = new PoolProperties(); p.setUrl(jdbcUrl); p.setDriverClassName(driverClass); p.setUsername(user); p.setPassword(pwd); p.setJmxEnabled(true); p.setTestWhileIdle(false); p.setTestOnBorrow(true); p.setValidationQuery("SELECT 1"); p.setTestOnReturn(false); p.setValidationInterval(30000); p.setValidationQueryTimeout(100); p.setTimeBetweenEvictionRunsMillis(30000); p.setMaxActive(100); p.setInitialSize(5); p.setMaxWait(10000); p.setRemoveAbandonedTimeout(60); p.setMinEvictableIdleTimeMillis(30000); p.setMinIdle(5); p.setLogAbandoned(true); p.setRemoveAbandoned(true); p.setJdbcInterceptors( "org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"+ "org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"); org.apache.tomcat.jdbc.pool.DataSource ds = new org.apache.tomcat.jdbc.pool.DataSource(); ds.setPoolProperties(p); return ds;
poolProperties.setValidationQueryTimeout(validationQueryTimeout);