Просмотр исходного кода

1.江津版本切换 , 数据采集优化
2.数据源配置优化 删除多余配置 优化配置流程

1037015548@qq.com 4 дней назад
Родитель
Сommit
56a9fa75cd

+ 1 - 1
dc3-gateway/src/main/java/io/github/pnoker/gateway/comtool/ScheduleTaskMgr.java

@@ -258,7 +258,7 @@ public class ScheduleTaskMgr {
             @Override
             public void run() {
                 try {
-                    KprJiangjinWaterBizfun.initHistoryDb(LocalDateTime.now().minusDays(33));
+                    KprJiangjinWaterBizfun.initHistoryDb(LocalDateTime.now().minusDays(31));
 //                    KprJiangjinWaterBizfun.initHistoryDb(LocalDateTime.now().withDayOfMonth(10).withHour(12)
 //                    .withMinute(0).withSecond(0));
                 }catch(Exception ex){

+ 0 - 113
dc3-gateway/src/main/java/io/github/pnoker/gateway/config/Child2SourceConfiguration.java

@@ -1,113 +0,0 @@
-package io.github.pnoker.gateway.config;
-
-import com.zaxxer.hikari.HikariConfig;
-import com.zaxxer.hikari.HikariDataSource;
-import io.github.pnoker.gateway.dbdao.DBMgrProxy;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-
-import javax.annotation.PostConstruct;
-import javax.sql.DataSource;
-
-@Configuration
-@MapperScan(basePackages = "io.github.pnoker.gateway.dbdao.mapper", sqlSessionTemplateRef = "child2SqlSessionTemplate")
-public class Child2SourceConfiguration {
-    @Value("${spring.datasource.child2pg.driver-class-name:}")
-    private String driveClass = "org.postgresql.Driver";
-
-    @Value("${spring.datasource.child2pg.jdbc-url:}")
-    private String url = "";
-
-    @Value("${spring.datasource.child2pg.username:}")
-    private String username = "";
-
-    @Value("${spring.datasource.child2pg.password:}")
-    private String password = "";
-
-    @Value("${spring.datasource.data.maximum-pool-size:200}")
-    private Integer maxPoolSize;
-
-    @Value("${spring.datasource.data.minimum-idle:1}")
-    private Integer minIdle;
-
-    @Value("${spring.datasource.data.connection-test-query:}")
-    private String connectionTestQuery;
-
-    @Value("${spring.datasource.data.max-lifetime:120000}")
-    private Long maxLifetime;
-
-    @Value("${spring.datasource.data.idle-timeout:30000}")
-    private Long idleTimeout;
-
-    @Value("${spring.datasource.data.connection-timeout:30000}")
-    private Long connectionTimeout;
-
-    @Value("${spring.datasource.data.validation-timeout:30000}")
-    private Long validTimeout;
-
-    @Bean(name = "child2Datasource")
-    //@ConfigurationProperties(prefix = "spring.datasource.data")
-    public DataSource mainDataSource() {
-        return new HikariDataSource(getConfig());
-        //return DataSourceBuilder.create().build();
-        //Spring Boot 2.x默认使用HikariCP
-    }
-
-    private HikariConfig getConfig() {
-        HikariConfig hikariConfig = new HikariConfig();
-        hikariConfig.setDriverClassName(driveClass);
-        hikariConfig.setJdbcUrl(url);
-        hikariConfig.setUsername(username);
-        hikariConfig.setPassword(password);
-
-        hikariConfig.setMaximumPoolSize(maxPoolSize);
-        hikariConfig.setMinimumIdle(minIdle);
-        hikariConfig.setConnectionTestQuery(connectionTestQuery);
-        hikariConfig.setMaxLifetime(maxLifetime);
-        hikariConfig.setIdleTimeout(idleTimeout);
-        hikariConfig.setConnectionTimeout(connectionTimeout);
-        hikariConfig.setValidationTimeout(validTimeout);
-        return hikariConfig;
-    }
-
-    @Bean("child2SqlSessionFactory")
-    public SqlSessionFactory child2SqlSessionFactoryBean(@Qualifier("child2Datasource") DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
-        sessionFactoryBean.setDataSource(dataSource);
-
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
-        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
-        configuration.setCacheEnabled(false);
-        sessionFactoryBean.setConfiguration(configuration);
-        return sessionFactoryBean.getObject();
-    }
-
-    @Bean("child2SqlSessionTemplate")
-    public SqlSessionTemplate child2SqlSessionTemplate(@Qualifier("child2SqlSessionFactory") SqlSessionFactory sessionFactory) {
-        return new SqlSessionTemplate(sessionFactory);
-    }
-
-    @Bean(name = "child2DbTransactionManager")
-    public DataSourceTransactionManager child2DbTransactionManager(@Qualifier("child2Datasource") DataSource dataSource){
-        return new DataSourceTransactionManager(dataSource);
-    }
-
-    @PostConstruct
-    public void init(){
-        GlobalData.getInstance().setPostGisValid("org.postgis.DriverWrapper".equals(driveClass));
-    }
-//    @Bean
-//    public DBMgrProxy startDBMgrProxy(){
-//        DBMgrProxy.getInstance().init();
-//        return DBMgrProxy.getInstance();
-//    }
-}

+ 0 - 113
dc3-gateway/src/main/java/io/github/pnoker/gateway/config/Child3SourceConfiguration.java

@@ -1,113 +0,0 @@
-package io.github.pnoker.gateway.config;
-
-import com.zaxxer.hikari.HikariConfig;
-import com.zaxxer.hikari.HikariDataSource;
-import io.github.pnoker.gateway.dbdao.DBMgrProxy;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-
-import javax.annotation.PostConstruct;
-import javax.sql.DataSource;
-
-@Configuration
-@MapperScan(basePackages = "io.github.pnoker.gateway.dbdao.mapper", sqlSessionTemplateRef = "child3SqlSessionTemplate")
-public class Child3SourceConfiguration {
-    @Value("${spring.datasource.child3pg.driver-class-name:}")
-    private String driveClass = "org.postgresql.Driver";
-
-    @Value("${spring.datasource.child3pg.jdbc-url:}")
-    private String url = "";
-
-    @Value("${spring.datasource.child3pg.username:}")
-    private String username = "";
-
-    @Value("${spring.datasource.child3pg.password:}")
-    private String password = "";
-
-    @Value("${spring.datasource.data.maximum-pool-size:200}")
-    private Integer maxPoolSize;
-
-    @Value("${spring.datasource.data.minimum-idle:1}")
-    private Integer minIdle;
-
-    @Value("${spring.datasource.data.connection-test-query:}")
-    private String connectionTestQuery;
-
-    @Value("${spring.datasource.data.max-lifetime:120000}")
-    private Long maxLifetime;
-
-    @Value("${spring.datasource.data.idle-timeout:30000}")
-    private Long idleTimeout;
-
-    @Value("${spring.datasource.data.connection-timeout:30000}")
-    private Long connectionTimeout;
-
-    @Value("${spring.datasource.data.validation-timeout:30000}")
-    private Long validTimeout;
-
-    @Bean(name = "child3Datasource")
-    //@ConfigurationProperties(prefix = "spring.datasource.data")
-    public DataSource mainDataSource() {
-        return new HikariDataSource(getConfig());
-        //return DataSourceBuilder.create().build();
-        //Spring Boot 2.x默认使用HikariCP
-    }
-
-    private HikariConfig getConfig() {
-        HikariConfig hikariConfig = new HikariConfig();
-        hikariConfig.setDriverClassName(driveClass);
-        hikariConfig.setJdbcUrl(url);
-        hikariConfig.setUsername(username);
-        hikariConfig.setPassword(password);
-
-        hikariConfig.setMaximumPoolSize(maxPoolSize);
-        hikariConfig.setMinimumIdle(minIdle);
-        hikariConfig.setConnectionTestQuery(connectionTestQuery);
-        hikariConfig.setMaxLifetime(maxLifetime);
-        hikariConfig.setIdleTimeout(idleTimeout);
-        hikariConfig.setConnectionTimeout(connectionTimeout);
-        hikariConfig.setValidationTimeout(validTimeout);
-        return hikariConfig;
-    }
-
-    @Bean("child3SqlSessionFactory")
-    public SqlSessionFactory child3SqlSessionFactoryBean(@Qualifier("child3Datasource") DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
-        sessionFactoryBean.setDataSource(dataSource);
-
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
-        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
-        configuration.setCacheEnabled(false);
-        sessionFactoryBean.setConfiguration(configuration);
-        return sessionFactoryBean.getObject();
-    }
-
-    @Bean("child3SqlSessionTemplate")
-    public SqlSessionTemplate child3SqlSessionTemplate(@Qualifier("child3SqlSessionFactory") SqlSessionFactory sessionFactory) {
-        return new SqlSessionTemplate(sessionFactory);
-    }
-
-    @Bean(name = "child3DbTransactionManager")
-    public DataSourceTransactionManager child3DbTransactionManager(@Qualifier("child3Datasource") DataSource dataSource){
-        return new DataSourceTransactionManager(dataSource);
-    }
-
-    @PostConstruct
-    public void init(){
-        GlobalData.getInstance().setPostGisValid("org.postgis.DriverWrapper".equals(driveClass));
-    }
-//    @Bean
-//    public DBMgrProxy startDBMgrProxy(){
-//        DBMgrProxy.getInstance().init();
-//        return DBMgrProxy.getInstance();
-//    }
-}

+ 0 - 115
dc3-gateway/src/main/java/io/github/pnoker/gateway/config/Child4SourceConfiguration.java

@@ -1,115 +0,0 @@
-//package io.github.pnoker.gateway.config;
-//
-//import com.zaxxer.hikari.HikariConfig;
-//import com.zaxxer.hikari.HikariDataSource;
-//import io.github.pnoker.gateway.dbdao.DBMgrProxy;
-//import org.apache.ibatis.session.SqlSessionFactory;
-//import org.mybatis.spring.SqlSessionFactoryBean;
-//import org.mybatis.spring.SqlSessionTemplate;
-//import org.mybatis.spring.annotation.MapperScan;
-//import org.springframework.beans.factory.annotation.Qualifier;
-//import org.springframework.beans.factory.annotation.Value;
-//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-//
-//import javax.annotation.PostConstruct;
-//import javax.sql.DataSource;
-//
-//@Configuration
-//@MapperScan(basePackages = {"io.github.pnoker.gateway.dbdao.mapper",
-//        "io.github.pnoker.gateway.dbdao.tangyinSource.mapper"}, sqlSessionTemplateRef = "child4SqlSessionTemplate")
-//public class Child4SourceConfiguration {
-//    @Value("${spring.datasource.child4pg.driver-class-name:}")
-//    private String driveClass = "org.postgresql.Driver";
-//
-//    @Value("${spring.datasource.child4pg.jdbc-url:}")
-//    private String url = "";
-//
-//    @Value("${spring.datasource.child4pg.username:}")
-//    private String username = "";
-//
-//    @Value("${spring.datasource.child4pg.password:}")
-//    private String password = "";
-//
-//    @Value("${spring.datasource.data.maximum-pool-size:200}")
-//    private Integer maxPoolSize;
-//
-//    @Value("${spring.datasource.data.minimum-idle:1}")
-//    private Integer minIdle;
-//
-//    @Value("${spring.datasource.data.connection-test-query:}")
-//    private String connectionTestQuery;
-//
-//    @Value("${spring.datasource.data.max-lifetime:120000}")
-//    private Long maxLifetime;
-//
-//    @Value("${spring.datasource.data.idle-timeout:30000}")
-//    private Long idleTimeout;
-//
-//    @Value("${spring.datasource.data.connection-timeout:30000}")
-//    private Long connectionTimeout;
-//
-//    @Value("${spring.datasource.data.validation-timeout:30000}")
-//    private Long validTimeout;
-//
-//    @Bean(name = "child4Datasource")
-//    //@ConfigurationProperties(prefix = "spring.datasource.data")
-//    public DataSource mainDataSource() {
-//        return new HikariDataSource(getConfig());
-//        //return DataSourceBuilder.create().build();
-//        //Spring Boot 2.x默认使用HikariCP
-//    }
-//
-//    private HikariConfig getConfig() {
-//        HikariConfig hikariConfig = new HikariConfig();
-//        hikariConfig.setDriverClassName(driveClass);
-//        hikariConfig.setJdbcUrl(url);
-//        hikariConfig.setUsername(username);
-//        hikariConfig.setPassword(password);
-//
-//        hikariConfig.setMaximumPoolSize(maxPoolSize);
-//        hikariConfig.setMinimumIdle(minIdle);
-//        hikariConfig.setConnectionTestQuery(connectionTestQuery);
-//        hikariConfig.setMaxLifetime(maxLifetime);
-//        hikariConfig.setIdleTimeout(idleTimeout);
-//        hikariConfig.setConnectionTimeout(connectionTimeout);
-//        hikariConfig.setValidationTimeout(validTimeout);
-//        return hikariConfig;
-//    }
-//
-//    @Bean("child4SqlSessionFactory")
-//    public SqlSessionFactory child4SqlSessionFactoryBean(@Qualifier("child4Datasource") DataSource dataSource) throws Exception {
-//        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
-//        sessionFactoryBean.setDataSource(dataSource);
-//
-//        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-//        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
-//        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
-//        configuration.setCacheEnabled(false);
-//        sessionFactoryBean.setConfiguration(configuration);
-//        return sessionFactoryBean.getObject();
-//    }
-//
-//    @Bean("child4SqlSessionTemplate")
-//    public SqlSessionTemplate child4SqlSessionTemplate(@Qualifier("child4SqlSessionFactory") SqlSessionFactory sessionFactory) {
-//        return new SqlSessionTemplate(sessionFactory);
-//    }
-//
-//    @Bean(name = "child4DbTransactionManager")
-//    public DataSourceTransactionManager child4DbTransactionManager(@Qualifier("child4Datasource") DataSource dataSource){
-//        return new DataSourceTransactionManager(dataSource);
-//    }
-//
-//    @PostConstruct
-//    public void init(){
-//        GlobalData.getInstance().setPostGisValid("org.postgis.DriverWrapper".equals(driveClass));
-//    }
-//
-//    @Bean
-//    public DBMgrProxy startDBMgrProxy(){
-//        DBMgrProxy.getInstance().init();
-//        return DBMgrProxy.getInstance();
-//    }
-//}

+ 0 - 113
dc3-gateway/src/main/java/io/github/pnoker/gateway/config/ChildSourceConfiguration.java

@@ -1,113 +0,0 @@
-package io.github.pnoker.gateway.config;
-
-import com.zaxxer.hikari.HikariConfig;
-import com.zaxxer.hikari.HikariDataSource;
-import io.github.pnoker.gateway.dbdao.DBMgrProxy;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-
-import javax.annotation.PostConstruct;
-import javax.sql.DataSource;
-
-@Configuration
-@MapperScan(basePackages = "io.github.pnoker.gateway.dbdao.mapper", sqlSessionTemplateRef = "childSqlSessionTemplate")
-public class ChildSourceConfiguration {
-    @Value("${spring.datasource.childpg.driver-class-name:}")
-    private String driveClass = "org.postgresql.Driver";
-
-    @Value("${spring.datasource.childpg.jdbc-url:}")
-    private String url = "";
-
-    @Value("${spring.datasource.childpg.username:}")
-    private String username = "";
-
-    @Value("${spring.datasource.childpg.password:}")
-    private String password = "";
-
-    @Value("${spring.datasource.data.maximum-pool-size:200}")
-    private Integer maxPoolSize;
-
-    @Value("${spring.datasource.data.minimum-idle:1}")
-    private Integer minIdle;
-
-    @Value("${spring.datasource.data.connection-test-query:}")
-    private String connectionTestQuery;
-
-    @Value("${spring.datasource.data.max-lifetime:120000}")
-    private Long maxLifetime;
-
-    @Value("${spring.datasource.data.idle-timeout:30000}")
-    private Long idleTimeout;
-
-    @Value("${spring.datasource.data.connection-timeout:30000}")
-    private Long connectionTimeout;
-
-    @Value("${spring.datasource.data.validation-timeout:30000}")
-    private Long validTimeout;
-
-    @Bean(name = "childDatasource")
-    //@ConfigurationProperties(prefix = "spring.datasource.data")
-    public DataSource mainDataSource() {
-        return new HikariDataSource(getConfig());
-        //return DataSourceBuilder.create().build();
-        //Spring Boot 2.x默认使用HikariCP
-    }
-
-    private HikariConfig getConfig() {
-        HikariConfig hikariConfig = new HikariConfig();
-        hikariConfig.setDriverClassName(driveClass);
-        hikariConfig.setJdbcUrl(url);
-        hikariConfig.setUsername(username);
-        hikariConfig.setPassword(password);
-
-        hikariConfig.setMaximumPoolSize(maxPoolSize);
-        hikariConfig.setMinimumIdle(minIdle);
-        hikariConfig.setConnectionTestQuery(connectionTestQuery);
-        hikariConfig.setMaxLifetime(maxLifetime);
-        hikariConfig.setIdleTimeout(idleTimeout);
-        hikariConfig.setConnectionTimeout(connectionTimeout);
-        hikariConfig.setValidationTimeout(validTimeout);
-        return hikariConfig;
-    }
-
-    @Bean("childSqlSessionFactory")
-    public SqlSessionFactory childSqlSessionFactoryBean(@Qualifier("mainDatasource") DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
-        sessionFactoryBean.setDataSource(dataSource);
-
-        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
-        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
-        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
-        configuration.setCacheEnabled(false);
-        sessionFactoryBean.setConfiguration(configuration);
-        return sessionFactoryBean.getObject();
-    }
-
-    @Bean("childSqlSessionTemplate")
-    public SqlSessionTemplate childSqlSessionTemplate(@Qualifier("childSqlSessionFactory") SqlSessionFactory sessionFactory) {
-        return new SqlSessionTemplate(sessionFactory);
-    }
-
-    @Bean(name = "childDbTransactionManager")
-    public DataSourceTransactionManager childDbTransactionManager(@Qualifier("childDatasource") DataSource dataSource){
-        return new DataSourceTransactionManager(dataSource);
-    }
-
-    @PostConstruct
-    public void init(){
-        GlobalData.getInstance().setPostGisValid("org.postgis.DriverWrapper".equals(driveClass));
-    }
-//    @Bean
-//    public DBMgrProxy startDBMgrProxy(){
-//        DBMgrProxy.getInstance().init();
-//        return DBMgrProxy.getInstance();
-//    }
-}

+ 330 - 2
dc3-gateway/src/main/java/io/github/pnoker/gateway/config/MainSourceConfiguration.java

@@ -10,6 +10,7 @@ import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.jdbc.DataSourceBuilder;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.PropertySource;
@@ -19,7 +20,8 @@ import javax.annotation.PostConstruct;
 import javax.sql.DataSource;
 
 @Configuration
-@MapperScan(basePackages = "io.github.pnoker.gateway.dbdao.mapper", sqlSessionTemplateRef = "mainSqlSessionTemplate")
+@MapperScan(basePackages = {"io.github.pnoker.gateway.dbdao.mapper",
+"io.github.pnoker.gateway.dbdao.tangyinSource.mapper"}, sqlSessionTemplateRef = "mainSqlSessionTemplate")
 public class MainSourceConfiguration {
     @Value("${spring.datasource.driver-class-name:}")
     private String driveClass = "org.postgresql.Driver";
@@ -101,12 +103,338 @@ public class MainSourceConfiguration {
     public DataSourceTransactionManager mainDbTransactionManager(@Qualifier("mainDatasource") DataSource dataSource){
         return new DataSourceTransactionManager(dataSource);
     }
-
     @PostConstruct
     public void init(){
         GlobalData.getInstance().setPostGisValid("org.postgis.DriverWrapper".equals(driveClass));
     }
 
+    //TODO child数据源
+    @Value("${spring.datasource.childpg.driver-class-name:}")
+    private String driveClass1 = "org.postgresql.Driver";
+
+    @Value("${spring.datasource.childpg.jdbc-url:}")
+    private String url1 = "";
+
+    @Value("${spring.datasource.childpg.username:}")
+    private String username1 = "";
+
+    @Value("${spring.datasource.childpg.password:}")
+    private String password1 = "";
+
+    @Value("${spring.datasource.data.maximum-pool-size:200}")
+    private Integer maxPoolSize1;
+
+    @Value("${spring.datasource.data.minimum-idle:1}")
+    private Integer minIdle1;
+
+    @Value("${spring.datasource.data.connection-test-query:}")
+    private String connectionTestQuery1;
+
+    @Value("${spring.datasource.data.max-lifetime:120000}")
+    private Long maxLifetime1;
+    @Value("${spring.datasource.data.idle-timeout:30000}")
+    private Long idleTimeout1;
+
+    @Value("${spring.datasource.data.connection-timeout:30000}")
+    private Long connectionTimeout1;
+
+    @Value("${spring.datasource.data.validation-timeout:30000}")
+    private Long validTimeout1;
+
+    @Bean(name = "childDatasource")
+    //@ConfigurationProperties(prefix = "spring.datasource.data")
+    public DataSource childDatasource() {
+        return new HikariDataSource(getConfig1());
+//        return DataSourceBuilder.create().build();
+        //Spring Boot 2.x默认使用HikariCP
+    }
+
+    private HikariConfig getConfig1() {
+        HikariConfig hikariConfig = new HikariConfig();
+        hikariConfig.setDriverClassName(driveClass1);
+        hikariConfig.setJdbcUrl(url1);
+        hikariConfig.setUsername(username1);
+        hikariConfig.setPassword(password1);
+
+        hikariConfig.setMaximumPoolSize(maxPoolSize1);
+        hikariConfig.setMinimumIdle(minIdle1);
+        hikariConfig.setConnectionTestQuery(connectionTestQuery1);
+        hikariConfig.setMaxLifetime(maxLifetime1);
+        hikariConfig.setIdleTimeout(idleTimeout1);
+        hikariConfig.setConnectionTimeout(connectionTimeout1);
+        hikariConfig.setValidationTimeout(validTimeout1);
+        return hikariConfig;
+    }
+
+    @Bean("childSqlSessionFactory")
+    public SqlSessionFactory childSqlSessionFactoryBean(@Qualifier("childDatasource") DataSource dataSource) throws Exception {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(dataSource);
+
+        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
+        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
+        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
+        configuration.setCacheEnabled(false);
+        sessionFactoryBean.setConfiguration(configuration);
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean("childSqlSessionTemplate")
+    public SqlSessionTemplate childSqlSessionTemplate(@Qualifier("childSqlSessionFactory") SqlSessionFactory sessionFactory) {
+        return new SqlSessionTemplate(sessionFactory);
+    }
+
+    @Bean(name = "childDbTransactionManager")
+    public DataSourceTransactionManager childDbTransactionManager(@Qualifier("childDatasource") DataSource dataSource){
+        return new DataSourceTransactionManager(dataSource);
+    }
+
+    //TODO child2数据源
+    @Value("${spring.datasource.child2pg.driver-class-name:}")
+    private String driveClass2 = "org.postgresql.Driver";
+
+    @Value("${spring.datasource.child2pg.jdbc-url:}")
+    private String url2 = "";
+
+    @Value("${spring.datasource.child2pg.username:}")
+    private String username2 = "";
+
+    @Value("${spring.datasource.child2pg.password:}")
+    private String password2 = "";
+
+    @Value("${spring.datasource.data.maximum-pool-size:200}")
+    private Integer maxPoolSize2;
+
+    @Value("${spring.datasource.data.minimum-idle:1}")
+    private Integer minIdle2;
+
+    @Value("${spring.datasource.data.connection-test-query:}")
+    private String connectionTestQuery2;
+
+    @Value("${spring.datasource.data.max-lifetime:120000}")
+    private Long maxLifetime2;
+
+    @Value("${spring.datasource.data.idle-timeout:30000}")
+    private Long idleTimeout2;
+
+    @Value("${spring.datasource.data.connection-timeout:30000}")
+    private Long connectionTimeout2;
+
+    @Value("${spring.datasource.data.validation-timeout:30000}")
+    private Long validTimeout2;
+
+    @Bean(name = "child2Datasource")
+    //@ConfigurationProperties(prefix = "spring.datasource.data")
+    public DataSource child2Datasource() {
+//        return new HikariDataSource(getConfig2());
+        return DataSourceBuilder.create().build();
+        //Spring Boot 2.x默认使用HikariCP
+    }
+
+    private HikariConfig getConfig2() {
+        HikariConfig hikariConfig = new HikariConfig();
+        hikariConfig.setDriverClassName(driveClass2);
+        hikariConfig.setJdbcUrl(url2);
+        hikariConfig.setUsername(username2);
+        hikariConfig.setPassword(password2);
+
+        hikariConfig.setMaximumPoolSize(maxPoolSize2);
+        hikariConfig.setMinimumIdle(minIdle2);
+        hikariConfig.setConnectionTestQuery(connectionTestQuery2);
+        hikariConfig.setMaxLifetime(maxLifetime2);
+        hikariConfig.setIdleTimeout(idleTimeout2);
+        hikariConfig.setConnectionTimeout(connectionTimeout2);
+        hikariConfig.setValidationTimeout(validTimeout2);
+        return hikariConfig;
+    }
+
+    @Bean("child2SqlSessionFactory")
+    public SqlSessionFactory child2SqlSessionFactoryBean(@Qualifier("child2Datasource") DataSource dataSource) throws Exception {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(dataSource);
+
+        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
+        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
+        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
+        configuration.setCacheEnabled(false);
+        sessionFactoryBean.setConfiguration(configuration);
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean("child2SqlSessionTemplate")
+    public SqlSessionTemplate child2SqlSessionTemplate(@Qualifier("child2SqlSessionFactory") SqlSessionFactory sessionFactory) {
+        return new SqlSessionTemplate(sessionFactory);
+    }
+
+    @Bean(name = "child2DbTransactionManager")
+    public DataSourceTransactionManager child2DbTransactionManager(@Qualifier("child2Datasource") DataSource dataSource){
+        return new DataSourceTransactionManager(dataSource);
+    }
+
+    //TODO child3数据源
+    @Value("${spring.datasource.child3pg.driver-class-name:}")
+    private String driveClass3 = "org.postgresql.Driver";
+
+    @Value("${spring.datasource.child3pg.jdbc-url:}")
+    private String url3 = "";
+
+    @Value("${spring.datasource.child3pg.username:}")
+    private String username3 = "";
+
+    @Value("${spring.datasource.child3pg.password:}")
+    private String password3 = "";
+
+    @Value("${spring.datasource.data.maximum-pool-size:200}")
+    private Integer maxPoolSize3;
+
+    @Value("${spring.datasource.data.minimum-idle:1}")
+    private Integer minIdle3;
+
+    @Value("${spring.datasource.data.connection-test-query:}")
+    private String connectionTestQuery3;
+
+    @Value("${spring.datasource.data.max-lifetime:120000}")
+    private Long maxLifetime3;
+
+    @Value("${spring.datasource.data.idle-timeout:30000}")
+    private Long idleTimeout3;
+
+    @Value("${spring.datasource.data.connection-timeout:30000}")
+    private Long connectionTimeout3;
+
+    @Value("${spring.datasource.data.validation-timeout:30000}")
+    private Long validTimeout3;
+
+    @Bean(name = "child3Datasource")
+    //@ConfigurationProperties(prefix = "spring.datasource.data")
+    public DataSource child3Datasource() {
+//        return new HikariDataSource(getConfig3());
+        return DataSourceBuilder.create().build();
+        //Spring Boot 2.x默认使用HikariCP
+    }
+
+    private HikariConfig getConfig3() {
+        HikariConfig hikariConfig = new HikariConfig();
+        hikariConfig.setDriverClassName(driveClass3);
+        hikariConfig.setJdbcUrl(url3);
+        hikariConfig.setUsername(username3);
+        hikariConfig.setPassword(password3);
+
+        hikariConfig.setMaximumPoolSize(maxPoolSize3);
+        hikariConfig.setMinimumIdle(minIdle3);
+        hikariConfig.setConnectionTestQuery(connectionTestQuery3);
+        hikariConfig.setMaxLifetime(maxLifetime3);
+        hikariConfig.setIdleTimeout(idleTimeout3);
+        hikariConfig.setConnectionTimeout(connectionTimeout3);
+        hikariConfig.setValidationTimeout(validTimeout3);
+        return hikariConfig;
+    }
+
+    @Bean("child3SqlSessionFactory")
+    public SqlSessionFactory child3SqlSessionFactoryBean(@Qualifier("child3Datasource") DataSource dataSource) throws Exception {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(dataSource);
+
+        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
+        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
+        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
+        configuration.setCacheEnabled(false);
+        sessionFactoryBean.setConfiguration(configuration);
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean("child3SqlSessionTemplate")
+    public SqlSessionTemplate child3SqlSessionTemplate(@Qualifier("child3SqlSessionFactory") SqlSessionFactory sessionFactory) {
+        return new SqlSessionTemplate(sessionFactory);
+    }
+
+    @Bean(name = "child3DbTransactionManager")
+    public DataSourceTransactionManager child3DbTransactionManager(@Qualifier("child3Datasource") DataSource dataSource){
+        return new DataSourceTransactionManager(dataSource);
+    }
+
+    //TODO child4数据源
+    @Value("${spring.datasource.child4pg.driver-class-name:}")
+    private String driveClass4 = "org.postgresql.Driver";
+
+    @Value("${spring.datasource.child4pg.jdbc-url:}")
+    private String url4 = "";
+
+    @Value("${spring.datasource.child4pg.username:}")
+    private String username4 = "";
+
+    @Value("${spring.datasource.child4pg.password:}")
+    private String password4 = "";
+
+    @Value("${spring.datasource.data.maximum-pool-size:200}")
+    private Integer maxPoolSize4;
+
+    @Value("${spring.datasource.data.minimum-idle:1}")
+    private Integer minIdle4;
+
+    @Value("${spring.datasource.data.connection-test-query:}")
+    private String connectionTestQuery4;
+
+    @Value("${spring.datasource.data.max-lifetime:120000}")
+    private Long maxLifetime4;
+
+    @Value("${spring.datasource.data.idle-timeout:30000}")
+    private Long idleTimeout4;
+
+    @Value("${spring.datasource.data.connection-timeout:30000}")
+    private Long connectionTimeout4;
+
+    @Value("${spring.datasource.data.validation-timeout:30000}")
+    private Long validTimeout4;
+
+    @Bean(name = "child4Datasource")
+    //@ConfigurationProperties(prefix = "spring.datasource.data")
+    public DataSource child4Datasource() {
+//        return new HikariDataSource(getConfig4());
+        return DataSourceBuilder.create().build();
+        //Spring Boot 2.x默认使用HikariCP
+    }
+
+    private HikariConfig getConfig4() {
+        HikariConfig hikariConfig = new HikariConfig();
+        hikariConfig.setDriverClassName(driveClass4);
+        hikariConfig.setJdbcUrl(url4);
+        hikariConfig.setUsername(username4);
+        hikariConfig.setPassword(password4);
+
+        hikariConfig.setMaximumPoolSize(maxPoolSize4);
+        hikariConfig.setMinimumIdle(minIdle4);
+        hikariConfig.setConnectionTestQuery(connectionTestQuery4);
+        hikariConfig.setMaxLifetime(maxLifetime4);
+        hikariConfig.setIdleTimeout(idleTimeout4);
+        hikariConfig.setConnectionTimeout(connectionTimeout4);
+        hikariConfig.setValidationTimeout(validTimeout4);
+        return hikariConfig;
+    }
+
+    @Bean("child4SqlSessionFactory")
+    public SqlSessionFactory child4SqlSessionFactoryBean(@Qualifier("child4Datasource") DataSource dataSource) throws Exception {
+        SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+        sessionFactoryBean.setDataSource(dataSource);
+
+        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
+        configuration.setCallSettersOnNulls(true);       //数据库中字段值为null时也要求返回
+        configuration.setMapUnderscoreToCamelCase(true); //开启驼峰映射
+        configuration.setCacheEnabled(false);
+        sessionFactoryBean.setConfiguration(configuration);
+        return sessionFactoryBean.getObject();
+    }
+
+    @Bean("child4SqlSessionTemplate")
+    public SqlSessionTemplate child4SqlSessionTemplate(@Qualifier("child4SqlSessionFactory") SqlSessionFactory sessionFactory) {
+        return new SqlSessionTemplate(sessionFactory);
+    }
+
+    @Bean(name = "child4DbTransactionManager")
+    public DataSourceTransactionManager child4DbTransactionManager(@Qualifier("child4Datasource") DataSource dataSource){
+        return new DataSourceTransactionManager(dataSource);
+    }
+
     @Bean
     public DBMgrProxy startDBMgrProxy(){
         DBMgrProxy.getInstance().init();

+ 4 - 4
dc3-gateway/src/main/java/io/github/pnoker/gateway/dbdao/jiangjinSource/JiangjinRealListDao.java

@@ -35,7 +35,7 @@ public class JiangjinRealListDao {
             sql += extend;
         }
 
-        final int maxRetries = 3;
+        final int maxRetries = 10;
         final long retryIntervalMillis = 500; // 重试间隔,单位:毫秒
 
         int attempt = 0;
@@ -71,7 +71,7 @@ public class JiangjinRealListDao {
             sql = baseSql;
         }
 
-        final int maxRetries = 3;
+        final int maxRetries = 10;
         final long retryIntervalMillis = 500; // 重试间隔,单位:毫秒
 
         int attempt = 0;
@@ -103,7 +103,7 @@ public class JiangjinRealListDao {
             sql += " WHERE " + extend;
         }
 
-        final int maxRetries = 3;
+        final int maxRetries = 10;
         final long retryIntervalMillis = 500;
 
         int attempt = 0;
@@ -144,7 +144,7 @@ public class JiangjinRealListDao {
 
         NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(oneTemplate.getDataSource());
 
-        final int maxRetries = 3;
+        final int maxRetries = 10;
         final long retryIntervalMillis = 500;
 
         int attempt = 0;

+ 6 - 7
dc3-gateway/src/main/java/io/github/pnoker/gateway/dbdao/tangyinSource/mapper/TangyinPressDataDao.java

@@ -23,9 +23,9 @@ import java.util.Map;
 @Slf4j
 @Repository
 public class TangyinPressDataDao {
-//    @Autowired
-//    @Qualifier("child4Datasource")
-//    private DataSource child4Datasource;
+    @Autowired
+    @Qualifier("child4Datasource")
+    private DataSource child4Datasource;
 
     private static final Logger log = LoggerFactory.getLogger(TangyinPressDataDao.class);
 
@@ -52,10 +52,9 @@ public class TangyinPressDataDao {
             if(!ObjectUtils.isEmpty(value.get("press_cur"))){
                 sql +=  " , press_cur =  '"+value.get("press_cur")+"' ";
             }
-//            JdbcTemplate pgJdbc = new JdbcTemplate(child4Datasource);
-//            Integer resCode = pgJdbc.update(sql);
-//            return resCode;
-            return -1;
+            JdbcTemplate pgJdbc = new JdbcTemplate(child4Datasource);
+            Integer resCode = pgJdbc.update(sql);
+            return resCode;
         }catch(Exception ex){
             log.error("TangyinPressDataDao insertOrUpdateTbmHourLevel error:"+ex.getLocalizedMessage());
             return -1;

+ 2 - 2
dc3-gateway/src/main/resources/application.yml

@@ -151,8 +151,8 @@ spring:
          driver-class-name: oracle.jdbc.driver.OracleDriver
       childpg:
         driver-class-name: org.postgis.DriverWrapper
-#        jdbc-url: jdbc:postgresql_postGIS://10.101.3.104:5432/water_volume_prediction_jiangjin2?useSSL=false&useAffectedRows=false&allowMultiQueries=true
-        jdbc-url: jdbc:postgresql_postGIS://140.246.183.164:5432/water_volume_prediction_jiangjin?useSSL=false&useAffectedRows=false&allowMultiQueries=true
+        jdbc-url: jdbc:postgresql_postGIS://10.101.3.104:5432/water_volume_prediction_jiangjin2?useSSL=false&useAffectedRows=false&allowMultiQueries=true
+#        jdbc-url: jdbc:postgresql_postGIS://140.246.183.164:5432/water_volume_prediction_jiangjin?useSSL=false&useAffectedRows=false&allowMultiQueries=true
         username: postgres
         password: kpr.23417.postgres
       child2pg: