fanxp 1 year ago
parent
commit
d50b4aca27

+ 8 - 7
src/main/java/com/xjrsoft/config/MybatisPlusConfig.java

@@ -135,7 +135,7 @@ public class MybatisPlusConfig {
                     }
                     druidConfig.setTestWhileIdle(true);
                     druidConfig.setTestOnReturn(false);
-                    druidConfig.setTestOnBorrow(false);
+                    druidConfig.setTestOnBorrow(true);
                     druidConfig.setFilters("stat,slf4j"); // #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
                     druidConfig.setUseGlobalDataSourceStat(true);
                     Properties properties = new Properties();
@@ -155,14 +155,15 @@ public class MybatisPlusConfig {
                     }
 
                     DruidConfig druidConfig = dataSourceProperty.getDruid();
-                    druidConfig.setInitialSize(10); // 初始化大小
-                    druidConfig.setMaxActive(100);// 最大连接池
-                    druidConfig.setMinIdle(10);// 最小连接池
-                    druidConfig.setMaxWait(60000); //最大等待超时时间
+                    druidConfig.setInitialSize(5); // 初始化大小
+                    druidConfig.setMaxActive(10);// 最大连接池
+                    druidConfig.setMinIdle(6);// 最小连接池
+                    druidConfig.setMaxWait(6000); //最大等待超时时间
+                    druidConfig.setValidationQueryTimeout(10);//是检测连接是否有效的超时时间,单位:秒
                     druidConfig.setPoolPreparedStatements(false); // 是否缓存preparedStatement,也就是PSCache  官方建议MySQL下建议关闭   个人建议如果想用SQL防火墙 建议打开
                     druidConfig.setMaxPoolPreparedStatementPerConnectionSize(20);//是否缓存preparedStatement,也就是PSCache  官方建议MySQL下建议关闭   个人建议如果想用SQL防火墙 建议打开
-                    druidConfig.setTimeBetweenEvictionRunsMillis(60000L);// 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-                    druidConfig.setMinEvictableIdleTimeMillis(300000L); //  配置一个连接在池中最小生存的时间,单位是毫秒
+                    druidConfig.setTimeBetweenEvictionRunsMillis(2000L);// 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+                    druidConfig.setMinEvictableIdleTimeMillis(10000L); //  配置一个连接在池中最小生存的时间,单位是毫秒
                     if (dataSourceProperty.getUrl().contains("oracle")) {
                         druidConfig.setValidationQuery("SELECT 1 FROM DUAL"); //测试链接 如果是oracle 语句不一样
                     } else {

+ 1 - 1
src/main/java/com/xjrsoft/module/system/service/impl/DatabaselinkServiceImpl.java

@@ -280,7 +280,7 @@ public class DatabaselinkServiceImpl extends ServiceImpl<DatabaselinkMapper, Dat
         }
         druidConfig.setTestWhileIdle(true);
         druidConfig.setTestOnReturn(false);
-        druidConfig.setTestOnBorrow(false);
+        druidConfig.setTestOnBorrow(true);
         druidConfig.setFilters("stat,slf4j"); // #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
         druidConfig.setUseGlobalDataSourceStat(true);
         Properties properties =new Properties();

+ 3 - 1
src/main/resources/application-dev.yml

@@ -9,11 +9,13 @@ spring:
       datasource:
         master:
           driver-class-name: com.mysql.cj.jdbc.Driver
-          url: jdbc:mysql://10.150.10.139:3306/tl?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&autoReconnect=true&failOverReadOnly=false
+          url: jdbc:mysql://10.150.10.139:3306/tl?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=60000
           username: root
           password: Zwr~-f6H,u6QE^]C-AD_
 
 
+
+
   redis:
     database: 11
     host: 10.150.10.139