|
@@ -82,6 +82,8 @@ public class DruidPlugin implements IPlugin, IDataSourceProvider {
|
|
|
protected int maxPoolPreparedStatementPerConnectionSize = -1;
|
|
protected int maxPoolPreparedStatementPerConnectionSize = -1;
|
|
|
|
|
|
|
|
protected Integer defaultTransactionIsolation = null;
|
|
protected Integer defaultTransactionIsolation = null;
|
|
|
|
|
+ protected Integer validationQueryTimeout = null;
|
|
|
|
|
+ protected Boolean keepAlive = null;
|
|
|
|
|
|
|
|
// 配置监控统计拦截的filters
|
|
// 配置监控统计拦截的filters
|
|
|
protected String filters; // 监控统计:"stat" 防SQL注入:"wall" 组合使用: "stat,wall"
|
|
protected String filters; // 监控统计:"stat" 防SQL注入:"wall" 组合使用: "stat,wall"
|
|
@@ -216,6 +218,12 @@ public class DruidPlugin implements IPlugin, IDataSourceProvider {
|
|
|
if (defaultTransactionIsolation != null) {
|
|
if (defaultTransactionIsolation != null) {
|
|
|
ds.setDefaultTransactionIsolation(defaultTransactionIsolation);
|
|
ds.setDefaultTransactionIsolation(defaultTransactionIsolation);
|
|
|
}
|
|
}
|
|
|
|
|
+ if (validationQueryTimeout != null) {
|
|
|
|
|
+ ds.setValidationQueryTimeout(validationQueryTimeout);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (keepAlive != null) {
|
|
|
|
|
+ ds.setKeepAlive(keepAlive);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
boolean hasSetConnectionProperties = false;
|
|
boolean hasSetConnectionProperties = false;
|
|
|
if (StrKit.notBlank(filters)){
|
|
if (StrKit.notBlank(filters)){
|
|
@@ -316,6 +324,16 @@ public class DruidPlugin implements IPlugin, IDataSourceProvider {
|
|
|
return this;
|
|
return this;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public DruidPlugin setValidationQueryTimeout(int validationQueryTimeout) {
|
|
|
|
|
+ this.validationQueryTimeout = validationQueryTimeout;
|
|
|
|
|
+ return this;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public DruidPlugin setKeepAlive(boolean keepAlive) {
|
|
|
|
|
+ this.keepAlive = keepAlive;
|
|
|
|
|
+ return this;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public DruidPlugin setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis) {
|
|
public DruidPlugin setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis) {
|
|
|
this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
|
|
this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
|
|
|
return this;
|
|
return this;
|