From d9adbadd9fa14cb7174f6167c438a45e8176fd26 Mon Sep 17 00:00:00 2001
From: SZH <szh_hello@163.com>
Date: 星期四, 23 二月 2023 15:22:04 +0800
Subject: [PATCH] 数据库连接池移除druid atomikos分布式事务使用com.mysql.cj.jdbc.MysqlXADataSource

---
 safePlatfrom-out-web/src/main/resources/config/application-uat.yaml                                       |   34 +++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataCourceProperties.java        |  151 ++++++++++++++++
 safePlatfrom-out-web/src/main/resources/config/application-dev.yaml                                       |   34 +++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigIncidentManage.java |   10 -
 safePlatfrom-out-web/src/main/resources/config/application-out-dev.yaml                                   |   34 +++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java     |   10 -
 pom.xml                                                                                                   |   10 
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataSourceConfig.java            |   16 -
 safePlatfrom-out-web/src/main/resources/config/application-online-uat.yaml                                |   34 +++
 safePlatfrom-out-web/src/main/resources/config/application-guotai-demo.yaml                               |   34 +++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DruidConfig.java                 |  106 ++++-------
 safePlatfrom-out-web/src/main/resources/config/application.yaml                                           |    2 
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java      |   14 -
 safePlatfrom-out-web/src/main/resources/config/application-test.yaml                                      |   34 +++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEquipment.java      |   10 -
 15 files changed, 380 insertions(+), 153 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7bdf112..5c7efab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -231,11 +231,11 @@
             <version>1.9.9.1</version>
             <!--            <scope>runtime</scope>-->
         </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-starter</artifactId>
-            <version>1.2.9</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba</groupId>-->
+<!--            <artifactId>druid-spring-boot-starter</artifactId>-->
+<!--            <version>1.2.9</version>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataCourceProperties.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataCourceProperties.java
new file mode 100644
index 0000000..0e9beb4
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataCourceProperties.java
@@ -0,0 +1,151 @@
+package com.gkhy.safePlatform.config.database;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+@ConfigurationProperties(prefix = "spring.datasource")
+public class DataCourceProperties {
+
+    private Prop emergency;
+
+    private Prop goalmanage;
+
+    private Prop incidentmanage;
+
+    private Prop equipment;
+
+    public Prop getEmergency() {
+        return emergency;
+    }
+
+    public void setEmergency(Prop emergency) {
+        this.emergency = emergency;
+    }
+
+    public Prop getGoalmanage() {
+        return goalmanage;
+    }
+
+    public void setGoalmanage(Prop goalmanage) {
+        this.goalmanage = goalmanage;
+    }
+
+    public Prop getIncidentmanage() {
+        return incidentmanage;
+    }
+
+    public void setIncidentmanage(Prop incidentmanage) {
+        this.incidentmanage = incidentmanage;
+    }
+
+    public Prop getEquipment() {
+        return equipment;
+    }
+
+    public void setEquipment(Prop equipment) {
+        this.equipment = equipment;
+    }
+
+    public static class Prop{
+
+        private String url;
+
+        private String username;
+
+        private String password;
+        private Integer initialSize;
+
+        private Integer minIdle;
+
+        private Integer maxActive;
+
+        private Integer maxWait;
+
+        private String validationQuery;
+
+        private Integer validationQueryTimeout;
+
+        private Boolean testWhileIdle;
+
+        public String getUrl() {
+            return url;
+        }
+
+        public void setUrl(String url) {
+            this.url = url;
+        }
+
+        public String getUsername() {
+            return username;
+        }
+
+        public void setUsername(String username) {
+            this.username = username;
+        }
+
+        public String getPassword() {
+            return password;
+        }
+
+        public void setPassword(String password) {
+            this.password = password;
+        }
+
+        public Integer getInitialSize() {
+            return initialSize;
+        }
+
+        public void setInitialSize(Integer initialSize) {
+            this.initialSize = initialSize;
+        }
+
+        public Integer getMinIdle() {
+            return minIdle;
+        }
+
+        public void setMinIdle(Integer minIdle) {
+            this.minIdle = minIdle;
+        }
+
+        public Integer getMaxActive() {
+            return maxActive;
+        }
+
+        public void setMaxActive(Integer maxActive) {
+            this.maxActive = maxActive;
+        }
+
+        public Integer getMaxWait() {
+            return maxWait;
+        }
+
+        public void setMaxWait(Integer maxWait) {
+            this.maxWait = maxWait;
+        }
+
+        public String getValidationQuery() {
+            return validationQuery;
+        }
+
+        public void setValidationQuery(String validationQuery) {
+            this.validationQuery = validationQuery;
+        }
+
+        public Integer getValidationQueryTimeout() {
+            return validationQueryTimeout;
+        }
+
+        public void setValidationQueryTimeout(Integer validationQueryTimeout) {
+            this.validationQueryTimeout = validationQueryTimeout;
+        }
+
+        public Boolean getTestWhileIdle() {
+            return testWhileIdle;
+        }
+
+        public void setTestWhileIdle(Boolean testWhileIdle) {
+            this.testWhileIdle = testWhileIdle;
+        }
+    }
+}
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataSourceConfig.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataSourceConfig.java
index 396299d..8fe78c9 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataSourceConfig.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DataSourceConfig.java
@@ -1,6 +1,5 @@
 package com.gkhy.safePlatform.config.database;
 
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
@@ -14,21 +13,6 @@
 
 @Configuration
 public class DataSourceConfig {
-
-//    @Bean
-//    @ConfigurationProperties("spring.datasource.goalmanage")
-//    DataSource dsGoalManage(){
-//        return DruidDataSourceBuilder.create().build();
-//    }
-//
-//    @Bean
-//    @ConfigurationProperties("spring.datasource.emergency")
-//    DataSource dsEmergency(){
-//        return DruidDataSourceBuilder.create().build();
-//    }
-
-
-
 
     /**
      * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DruidConfig.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DruidConfig.java
index 4b7e3c5..3dca8bb 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DruidConfig.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/DruidConfig.java
@@ -1,12 +1,8 @@
 package com.gkhy.safePlatform.config.database;
 
-import com.alibaba.druid.filter.stat.StatFilter;
-import com.alibaba.druid.support.http.StatViewServlet;
-import com.alibaba.druid.support.http.WebStatFilter;
-import com.alibaba.druid.wall.WallConfig;
-import com.alibaba.druid.wall.WallFilter;
 import com.atomikos.icatch.jta.UserTransactionImp;
 import com.atomikos.icatch.jta.UserTransactionManager;
+import com.mysql.cj.jdbc.MysqlXADataSource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
@@ -32,24 +28,29 @@
 @Configuration
 public class DruidConfig {
 
-    @Value("${spring.datasource.type}")
-    private String datasourceClass;
+    @Autowired
+    private DataCourceProperties dataCourceProperties;
 
     @Bean(name = "dsGoalManage")
     @Primary
     @Autowired
     public DataSource dsGoalManage(Environment env) {
-        AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        final MysqlXADataSource mysqlXADataSource = new MysqlXADataSource();
         Properties prop = build(env, "spring.datasource.goalmanage.");
-//        ds.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
-        ds.setXaDataSourceClassName(datasourceClass);
+        mysqlXADataSource.setUrl(dataCourceProperties.getGoalmanage().getUrl());
+        mysqlXADataSource.setUser(dataCourceProperties.getGoalmanage().getUsername());
+        mysqlXADataSource.setPassword(dataCourceProperties.getGoalmanage().getPassword());
+        final AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        ds.setXaDataSource(mysqlXADataSource);
         ds.setUniqueResourceName("goalmanage");
-        ds.setPoolSize(2);
+        ds.setPoolSize(dataCourceProperties.getGoalmanage().getInitialSize());
+        ds.setMinPoolSize(dataCourceProperties.getGoalmanage().getMinIdle());
+        ds.setMaxPoolSize(dataCourceProperties.getGoalmanage().getMaxActive());
         ds.setXaProperties(prop);
         ds.setMaxIdleTime(3600);
         ds.setMaxLifetime(3000);
+        ds.setTestQuery(dataCourceProperties.getGoalmanage().getValidationQuery());
         return ds;
-
     }
 
 
@@ -57,15 +58,21 @@
     @Primary
     @Bean(name = "dsEmergency")
     public AtomikosDataSourceBean dsEmergency(Environment env) {
-        AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        final MysqlXADataSource mysqlXADataSource = new MysqlXADataSource();
         Properties prop = build(env, "spring.datasource.emergency.");
-//        ds.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
-        ds.setXaDataSourceClassName(datasourceClass);
+        mysqlXADataSource.setUrl(dataCourceProperties.getEmergency().getUrl());
+        mysqlXADataSource.setUser(dataCourceProperties.getEmergency().getUsername());
+        mysqlXADataSource.setPassword(dataCourceProperties.getEmergency().getPassword());
+        final AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        ds.setXaDataSource(mysqlXADataSource);
         ds.setUniqueResourceName("emergency");
-        ds.setPoolSize(2);
+        ds.setPoolSize(dataCourceProperties.getEmergency().getInitialSize());
+        ds.setMinPoolSize(dataCourceProperties.getEmergency().getMinIdle());
+        ds.setMaxPoolSize(dataCourceProperties.getEmergency().getMaxActive());
         ds.setXaProperties(prop);
         ds.setMaxIdleTime(3600);
         ds.setMaxLifetime(3000);
+        ds.setTestQuery(dataCourceProperties.getEmergency().getValidationQuery());
         return ds;
     }
 
@@ -73,15 +80,21 @@
     @Primary
     @Bean(name = "dsIncidentManage")
     public AtomikosDataSourceBean dsIncidentManage(Environment env) {
-        AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        final MysqlXADataSource mysqlXADataSource = new MysqlXADataSource();
         Properties prop = build(env, "spring.datasource.incidentmanage.");
-        ds.setXaDataSourceClassName(datasourceClass);
-//        ds.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
+        mysqlXADataSource.setUrl(dataCourceProperties.getIncidentmanage().getUrl());
+        mysqlXADataSource.setUser(dataCourceProperties.getIncidentmanage().getUsername());
+        mysqlXADataSource.setPassword(dataCourceProperties.getIncidentmanage().getPassword());
+        final AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        ds.setXaDataSource(mysqlXADataSource);
         ds.setUniqueResourceName("incidentmanage");
-        ds.setPoolSize(2);
+        ds.setPoolSize(dataCourceProperties.getIncidentmanage().getInitialSize());
+        ds.setMinPoolSize(dataCourceProperties.getIncidentmanage().getMinIdle());
+        ds.setMaxPoolSize(dataCourceProperties.getIncidentmanage().getMaxActive());
         ds.setXaProperties(prop);
         ds.setMaxIdleTime(3600);
         ds.setMaxLifetime(3000);
+        ds.setTestQuery(dataCourceProperties.getIncidentmanage().getValidationQuery());
         return ds;
     }
 
@@ -89,15 +102,21 @@
     @Primary
     @Bean(name = "dsEquipment")
     public AtomikosDataSourceBean dsEquipment(Environment env) {
-        AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        final MysqlXADataSource mysqlXADataSource = new MysqlXADataSource();
         Properties prop = build(env, "spring.datasource.equipment.");
-        ds.setXaDataSourceClassName(datasourceClass);
-//        ds.setXaDataSourceClassName("com.alibaba.druid.pool.xa.DruidXADataSource");
+        mysqlXADataSource.setUrl(dataCourceProperties.getEquipment().getUrl());
+        mysqlXADataSource.setUser(dataCourceProperties.getEquipment().getUsername());
+        mysqlXADataSource.setPassword(dataCourceProperties.getEquipment().getPassword());
+        final AtomikosDataSourceBean ds = new AtomikosDataSourceBean();
+        ds.setXaDataSource(mysqlXADataSource);
         ds.setUniqueResourceName("equipment");
-        ds.setPoolSize(2);
+        ds.setPoolSize(dataCourceProperties.getEquipment().getInitialSize());
+        ds.setMinPoolSize(dataCourceProperties.getEquipment().getMinIdle());
+        ds.setMaxPoolSize(dataCourceProperties.getEquipment().getMaxActive());
         ds.setXaProperties(prop);
         ds.setMaxIdleTime(3600);
         ds.setMaxLifetime(3000);
+        ds.setTestQuery(dataCourceProperties.getEquipment().getValidationQuery());
         return ds;
     }
 
@@ -143,45 +162,6 @@
 //        prop.put("filters", env.getProperty(prefix + "filters"));
 
         return prop;
-    }
-
-//    @Bean
-    public ServletRegistrationBean druidServlet() {
-        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
-
-        //控制台管理用户,加入下面2行 进入druid后台就需要登录
-        //servletRegistrationBean.addInitParameter("loginUsername", "admin");
-        //servletRegistrationBean.addInitParameter("loginPassword", "admin");
-        return servletRegistrationBean;
-    }
-
-//    @Bean
-    public FilterRegistrationBean filterRegistrationBean() {
-        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
-        filterRegistrationBean.setFilter(new WebStatFilter());
-        filterRegistrationBean.addUrlPatterns("/*");
-        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
-        filterRegistrationBean.addInitParameter("profileEnable", "true");
-        return filterRegistrationBean;
-    }
-
-//    @Bean
-    public StatFilter statFilter(){
-        StatFilter statFilter = new StatFilter();
-        statFilter.setLogSlowSql(true); //slowSqlMillis用来配置SQL慢的标准,执行时间超过slowSqlMillis的就是慢。
-        statFilter.setMergeSql(true); //SQL合并配置
-        statFilter.setSlowSqlMillis(1000);//slowSqlMillis的缺省值为3000,也就是3秒。
-        return statFilter;
-    }
-
-//    @Bean
-    public WallFilter wallFilter(){
-        WallFilter wallFilter = new WallFilter();
-        //允许执行多条SQL
-        WallConfig config = new WallConfig();
-        config.setMultiStatementAllow(true);
-        wallFilter.setConfig(config);
-        return wallFilter;
     }
 
 }
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java
index 05ae1c5..2173896 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEmergency.java
@@ -1,7 +1,5 @@
 package com.gkhy.safePlatform.config.database;
 
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
 import org.apache.ibatis.plugin.Interceptor;
@@ -37,14 +35,8 @@
     @Autowired
     private MybatisPlusInterceptor mybatisPlusInterceptor;
 
-    @Bean(name = "dataSourceEmergency")
-    @ConfigurationProperties(prefix = "spring.datasource.emergency")
-    public DruidDataSource dataSourceDoublePrevent(){
-        return DruidDataSourceBuilder.create().build();
-    }
-
     @Bean(name = "sqlSessionFactoryEmergency")
-    public SqlSessionFactory sqlSessionFactoryEmergency(@Qualifier("dataSourceEmergency") DruidDataSource dataSource) throws Exception {
+    public SqlSessionFactory sqlSessionFactoryEmergency() throws Exception {
         MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
         factoryBean.setDataSource(dsEmergency);
         ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
@@ -56,7 +48,7 @@
     }
 
     @Bean
-    public SqlSessionTemplate sqlSessionTemplateEmergency(@Qualifier("sqlSessionFactoryEmergency") SqlSessionFactory sqlSessionFactory){
-        return new SqlSessionTemplate(sqlSessionFactory);
+    public SqlSessionTemplate sqlSessionTemplateEmergency() throws Exception {
+        return new SqlSessionTemplate(sqlSessionFactoryEmergency());
     }
 }
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEquipment.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEquipment.java
index c58fb65..fb2e985 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEquipment.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigEquipment.java
@@ -1,7 +1,5 @@
 package com.gkhy.safePlatform.config.database;
 
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
 import com.baomidou.mybatisplus.core.config.GlobalConfig;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
@@ -37,14 +35,8 @@
     @Autowired
     private MybatisPlusInterceptor mybatisPlusInterceptor;
 
-    @Bean(name = "datasourceEquipment")
-    @ConfigurationProperties(prefix = "spring.datasource.equipment")
-    public DruidDataSource druidDataSourceA(){
-        return DruidDataSourceBuilder.create().build();
-    }
-
     @Bean(name = "sqlFactoryEquipment")
-    public SqlSessionFactory sqlSessionFactory(@Qualifier("datasourceEquipment") DruidDataSource dataSource)
+    public SqlSessionFactory sqlSessionFactory()
             throws Exception
     {
         MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java
index eebd824..e2bef6c 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigGoalManage.java
@@ -1,7 +1,5 @@
 package com.gkhy.safePlatform.config.database;
 
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
 import org.apache.ibatis.plugin.Interceptor;
@@ -35,14 +33,8 @@
     @Autowired
     private MybatisPlusInterceptor mybatisPlusInterceptor;
 
-    @Bean(name = "dataSourceGoalManage")
-    @ConfigurationProperties(prefix = "spring.datasource.goalmanage")
-    public DruidDataSource dataSourceGoalManage(){
-        return DruidDataSourceBuilder.create().build();
-    }
-
     @Bean(name = "sqlFactoryGoalManage")
-    public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSourceGoalManage") DruidDataSource dataSource)
+    public SqlSessionFactory sqlSessionFactory()
             throws Exception
     {
         MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigIncidentManage.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigIncidentManage.java
index 73504d4..35ff18d 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigIncidentManage.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/config/database/MyBatisConfigIncidentManage.java
@@ -1,7 +1,5 @@
 package com.gkhy.safePlatform.config.database;
 
-import com.alibaba.druid.pool.DruidDataSource;
-import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
 import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
 import org.apache.ibatis.plugin.Interceptor;
@@ -35,14 +33,8 @@
     @Autowired
     private MybatisPlusInterceptor mybatisPlusInterceptor;
 
-    @Bean(name = "dataSourceIncidentManage")
-    @ConfigurationProperties(prefix = "spring.datasource.incidentmanage")
-    public DruidDataSource dataSourceIncidentManage(){
-        return DruidDataSourceBuilder.create().build();
-    }
-
     @Bean(name = "sqlFactoryIncidentManage")
-    public SqlSessionFactory sqlSessionFactory(@Qualifier("dataSourceIncidentManage") DruidDataSource dataSource)
+    public SqlSessionFactory sqlSessionFactory()
             throws Exception
     {
         MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean();
diff --git a/safePlatfrom-out-web/src/main/resources/config/application-dev.yaml b/safePlatfrom-out-web/src/main/resources/config/application-dev.yaml
index 5e825ae..bf234ad 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application-dev.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application-dev.yaml
@@ -11,31 +11,55 @@
   jta:
     transaction-manager-id: txManager
   datasource:
-    type: com.alibaba.druid.pool.xa.DruidXADataSource
+    type: com.mysql.cj.jdbc.MysqlXADataSource
     emergency:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.emergency.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     goalmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.goalmanage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     incidentmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.incidentmanage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     equipment:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.equipment.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
   redis:
     host: 192.168.0.52
     port: 6379
diff --git a/safePlatfrom-out-web/src/main/resources/config/application-guotai-demo.yaml b/safePlatfrom-out-web/src/main/resources/config/application-guotai-demo.yaml
index ec399cb..726fa5c 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application-guotai-demo.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application-guotai-demo.yaml
@@ -11,31 +11,55 @@
   jta:
     transaction-manager-id: txManager
   datasource:
-    type: com.alibaba.druid.pool.xa.DruidXADataSource
+    type: com.mysql.cj.jdbc.MysqlXADataSource
     emergency:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.emergency.guotai.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     goalmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.goalmanage.guotai.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     incidentmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.incidentmanage.guotai.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     equipment:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.equipment.guotai.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
   redis:
     host: 192.168.30.107
     port: 6375
diff --git a/safePlatfrom-out-web/src/main/resources/config/application-online-uat.yaml b/safePlatfrom-out-web/src/main/resources/config/application-online-uat.yaml
index 58dac4a..b74d492 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application-online-uat.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application-online-uat.yaml
@@ -11,31 +11,55 @@
   jta:
     transaction-manager-id: txManager
   datasource:
-    type: com.alibaba.druid.pool.xa.DruidXADataSource
+    type: com.mysql.cj.jdbc.MysqlXADataSource
     emergency:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.emergency.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     goalmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.goalmanage.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     incidentmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.incidentmanage.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     equipment:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.30.107:43306/safeplatform.equipment.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_safeplatform_guotai_out
       password: a7687@i8a1Sdd
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
   redis:
     host: 192.168.30.107
     port: 6376
diff --git a/safePlatfrom-out-web/src/main/resources/config/application-out-dev.yaml b/safePlatfrom-out-web/src/main/resources/config/application-out-dev.yaml
index 0774f7e..74f4a65 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application-out-dev.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application-out-dev.yaml
@@ -11,31 +11,55 @@
   jta:
     transaction-manager-id: txManager
   datasource:
-    type: com.alibaba.druid.pool.xa.DruidXADataSource
+    type: com.mysql.cj.jdbc.MysqlXADataSource
     emergency:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.emergency.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     goalmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.goalmanage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     incidentmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.incidentmanage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     equipment:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.equipment.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
   redis:
     host: 192.168.0.52
     port: 6378
diff --git a/safePlatfrom-out-web/src/main/resources/config/application-test.yaml b/safePlatfrom-out-web/src/main/resources/config/application-test.yaml
index feec198..2fe542a 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application-test.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application-test.yaml
@@ -11,31 +11,55 @@
   jta:
     transaction-manager-id: txManager
   datasource:
-    type: com.alibaba.druid.pool.xa.DruidXADataSource
+    type: com.mysql.cj.jdbc.MysqlXADataSource
     emergency:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.emergency.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     goalmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.goalmanage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     incidentmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.incidentmanage.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     equipment:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.equipment.dev?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
   redis:
     host: 192.168.0.52
     port: 6377
diff --git a/safePlatfrom-out-web/src/main/resources/config/application-uat.yaml b/safePlatfrom-out-web/src/main/resources/config/application-uat.yaml
index 715fa3b..6adf37c 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application-uat.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application-uat.yaml
@@ -11,31 +11,55 @@
   jta:
     transaction-manager-id: txManager
   datasource:
-    type: com.alibaba.druid.pool.xa.DruidXADataSource
+    type: com.mysql.cj.jdbc.MysqlXADataSource
     emergency:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.emergency.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     goalmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.goalmanage.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     incidentmanage:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.incidentmanage.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
     equipment:
       driver-class-name: com.mysql.cj.jdbc.Driver
       url: jdbc:mysql://192.168.0.52:3306/safeplatform.equipment.uat?allowMultiQueries=true&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
       username: gkhy_dev_out_team
       password: Adsdf675T6AC7yga
-      type: com.alibaba.druid.pool.DruidDataSource
+      initialSize: 3
+      minIdle: 3
+      maxActive: 10
+      maxWait: 30000
+      validationQuery: select 1
+      validationQueryTimeout: 10000
+      testWhileIdle: true
   redis:
     host: 192.168.0.52
     port: 6375
diff --git a/safePlatfrom-out-web/src/main/resources/config/application.yaml b/safePlatfrom-out-web/src/main/resources/config/application.yaml
index 3e4199b..3c91f04 100644
--- a/safePlatfrom-out-web/src/main/resources/config/application.yaml
+++ b/safePlatfrom-out-web/src/main/resources/config/application.yaml
@@ -2,7 +2,7 @@
   application:
     name: safeplatform-out
   profiles:
-    active: online-uat
+    active: uat
 #### dev out-dev  test  uat  online-uat guotai-demo
 #    active: guotai-demo  国泰试运行环境
 #    active: online-uat   线上预发环境

--
Gitblit v1.9.2