diff --git a/hutool-db/pom.xml b/hutool-db/pom.xml
index 31c1c263e..bab350310 100755
--- a/hutool-db/pom.xml
+++ b/hutool-db/pom.xml
@@ -35,7 +35,7 @@
2.9.0
10.0.27
- 1.2.17
+ 1.2.21
4.0.3
3.43.0.0
diff --git a/hutool-db/src/main/java/org/dromara/hutool/db/ds/druid/DruidDSFactory.java b/hutool-db/src/main/java/org/dromara/hutool/db/ds/druid/DruidDSFactory.java
index 7e876a86e..4a75d482b 100644
--- a/hutool-db/src/main/java/org/dromara/hutool/db/ds/druid/DruidDSFactory.java
+++ b/hutool-db/src/main/java/org/dromara/hutool/db/ds/druid/DruidDSFactory.java
@@ -74,6 +74,38 @@ public class DruidDSFactory implements DSFactory {
ds.setBreakAfterAcquireFailure(druidProps.getBool(breakAfterAcquireFailureKey));
}
+ // issue#I8STFC 补充
+ // validationQueryTimeout
+ final String validationQueryTimeout = "druid.validationQueryTimeout";
+ if(druidProps.containsKey(validationQueryTimeout)){
+ ds.setValidationQueryTimeout(druidProps.getInt(validationQueryTimeout));
+ }
+ // queryTimeout
+ final String queryTimeout = "druid.queryTimeout";
+ if(druidProps.containsKey(queryTimeout)){
+ ds.setQueryTimeout(druidProps.getInt(queryTimeout));
+ }
+ // connectTimeout
+ final String connectTimeout = "druid.connectTimeout";
+ if(druidProps.containsKey(connectTimeout)){
+ ds.setConnectTimeout(druidProps.getInt(connectTimeout));
+ }
+ // socketTimeout
+ final String socketTimeout = "druid.socketTimeout";
+ if(druidProps.containsKey(socketTimeout)){
+ ds.setSocketTimeout(druidProps.getInt(socketTimeout));
+ }
+ // transactionQueryTimeout
+ final String transactionQueryTimeout = "druid.transactionQueryTimeout";
+ if(druidProps.containsKey(transactionQueryTimeout)){
+ ds.setTransactionQueryTimeout(druidProps.getInt(transactionQueryTimeout));
+ }
+ // loginTimeout
+ final String loginTimeout = "druid.loginTimeout";
+ if(druidProps.containsKey(loginTimeout)){
+ ds.setLoginTimeout(druidProps.getInt(loginTimeout));
+ }
+
// 检查关联配置,在用户未设置某项配置时,设置默认值
if (null == ds.getValidationQuery()) {
// 在validationQuery未设置的情况下,以下三项设置都将无效