Browse Source

连接池Druid支持新的配置connectTimeout和socketTimeout

RuoYi 2 năm trước cách đây
mục cha
commit
eb96afee64

+ 4 - 0
ruoyi-admin/src/main/resources/application-druid.yml

@@ -24,6 +24,10 @@ spring:
             maxActive: 20
             # 配置获取连接等待超时的时间
             maxWait: 60000
+            # 配置连接超时时间
+            connectTimeout: 30000
+            # 配置网络超时时间
+            socketTimeout: 60000
             # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
             timeBetweenEvictionRunsMillis: 60000
             # 配置一个连接在池中最小生存的时间,单位是毫秒

+ 12 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java

@@ -24,6 +24,12 @@ public class DruidProperties
     @Value("${spring.datasource.druid.maxWait}")
     private int maxWait;
 
+    @Value("${spring.datasource.druid.connectTimeout}")
+    private int connectTimeout;
+
+    @Value("${spring.datasource.druid.socketTimeout}")
+    private int socketTimeout;
+
     @Value("${spring.datasource.druid.timeBetweenEvictionRunsMillis}")
     private int timeBetweenEvictionRunsMillis;
 
@@ -54,6 +60,12 @@ public class DruidProperties
 
         /** 配置获取连接等待超时的时间 */
         datasource.setMaxWait(maxWait);
+        
+        /** 配置驱动连接超时时间,检测数据库建立连接的超时时间,单位是毫秒 */
+        datasource.setConnectTimeout(connectTimeout);
+        
+        /** 配置网络超时时间,等待数据库操作完成的网络超时时间,单位是毫秒 */
+        datasource.setSocketTimeout(socketTimeout);
 
         /** 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 */
         datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);