Browse Source

添加 setKeepAlive、setValidationQueryTimeout 配置

James 5 years ago
parent
commit
c70144180e
1 changed files with 18 additions and 0 deletions
  1. 18 0
      src/main/java/com/jfinal/plugin/druid/DruidPlugin.java

+ 18 - 0
src/main/java/com/jfinal/plugin/druid/DruidPlugin.java

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