diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index d6de2538c1..8c77c37aec 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -136,6 +136,19 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat public DruidDataSource(boolean fairLock){ super(fairLock); + + { + String property = System.getProperty("druid.testWhileIdle"); + if ("true".equals(property)) { + this.setTestWhileIdle(true); + } + } + { + String property = System.getProperty("druid.validationQuery"); + if (property != null && property.length() > 0) { + this.setValidationQuery(property); + } + } } public String getInitStackTrace() { @@ -352,7 +365,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat for (Filter filter : filters) { filter.init(this); } - + if (this.dbType == JdbcConstants.MYSQL) { boolean cacheServerConfigurationSet = false; if (this.connectProperties.containsKey("cacheServerConfiguration")) {