From 931c5a4634eaf05ba8f84017747fb1c4beb510fd Mon Sep 17 00:00:00 2001 From: hbr <1991483710@qq.com> Date: Wed, 5 Jun 2024 20:44:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A4=9A=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhiLian/datasource/ManyDataSource.java | 71 +++++++++++++++++++ .../ZhiLianDataSourceApplication.java | 2 +- .../datasource/config/DataSourceAsp.java | 7 +- .../datasource/config/DruidConfig.java | 71 ------------------- .../factory/DruidDataSourceFactory.java | 44 ++++++++++++ .../holder}/DynamicDataSourceHolder.java | 3 +- .../config/{ => role}/DynamicDataSource.java | 11 ++- .../datasource/contents/CommonConstant.java | 18 ----- .../contents/DatasourceContent.java | 2 +- .../{ => domain}/DataSourceInfo.java | 23 ++++-- .../zhiLian/datasource/domain/EntInfo.java | 29 ++++++++ .../datasource/util/DataSourceService.java | 15 ++-- .../iotdb/config/IotDBSessionConfig.java | 2 +- .../src/main/resources/bootstrap.yml | 8 +-- .../vehicle/datasource/ManyDataSource.java | 16 +++-- .../factory/DruidDataSourceFactory.java | 7 -- .../config/role/DynamicDataSource.java | 1 + .../vehicle/datasource/domain/EntInfo.java | 1 - .../datasource/util/DataSourceService.java | 2 +- .../service/impl/FenceServiceImpl.java | 5 -- .../service/impl/GroupServiceImpl.java | 3 - 21 files changed, 206 insertions(+), 135 deletions(-) create mode 100644 zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ManyDataSource.java delete mode 100644 zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DruidConfig.java create mode 100644 zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/factory/DruidDataSourceFactory.java rename zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/{ => config/holder}/DynamicDataSourceHolder.java (95%) rename zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/{ => role}/DynamicDataSource.java (78%) delete mode 100644 zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/CommonConstant.java rename zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/{ => domain}/DataSourceInfo.java (66%) create mode 100644 zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/EntInfo.java diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ManyDataSource.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ManyDataSource.java new file mode 100644 index 0000000..a1cd0a8 --- /dev/null +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ManyDataSource.java @@ -0,0 +1,71 @@ +package com.zhiLian.datasource; + + +import com.zhiLian.datasource.config.factory.DruidDataSourceFactory; +import com.zhiLian.datasource.config.role.DynamicDataSource; +import com.zhiLian.datasource.domain.DataSourceInfo; +import com.zhiLian.datasource.domain.EntInfo; +import lombok.extern.log4j.Log4j2; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author DongZl + * @description: 数据源配置 + * @Date 2023-8-1 上午 11:05 + */ +@Log4j2 +@Configuration +public class ManyDataSource { + + + private List dataSourceInfoList(){ + List databaseNameList = new ArrayList<>(){{ + add(EntInfo.builder() + .entCode("test_1") + .ip("192.168.120.128") + .port(3306) + .build()); + add(EntInfo.builder() + .entCode("test_2") + .ip("122.51.111.225") + .port(6666) + .build()); + add(EntInfo.builder() + .entCode("test_3") + .ip("122.51.111.225") + .port(3333) + .build()); + }}; + return databaseNameList; + } + + + + @Bean + @Primary + public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { + + //查企业 + Map dataSourceMap = new HashMap<>(); + dataSourceInfoList() + .stream() + .map(entInfo-> DataSourceInfo.hostAndPortBuild(entInfo.getEntCode(),entInfo.getIp(),entInfo.getPort())) + .forEach(dataSourceInfo -> { + dataSourceMap.put(dataSourceInfo.getKey(), druidDataSourceFactory.create(dataSourceInfo)); + }); + //设置动态数据源 + DynamicDataSource dynamicDataSource = new DynamicDataSource(); +// dynamicDataSource.setDefaultTargetDataSource(masterDataSource()); + dynamicDataSource.setTargetDataSources(dataSourceMap); + //将数据源信息备份在defineTargetDataSources中 + dynamicDataSource.setDefineTargetDataSources(dataSourceMap); + return dynamicDataSource; + } +} diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ZhiLianDataSourceApplication.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ZhiLianDataSourceApplication.java index fc3844c..bbc39ef 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ZhiLianDataSourceApplication.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/ZhiLianDataSourceApplication.java @@ -19,7 +19,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @EnableCustomConfig @EnableCustomSwagger2 @EnableMyFeignClients -@SpringBootApplication(exclude = {DynamicDataSourceAutoConfiguration.class,DataSourceAutoConfiguration.class }) +@SpringBootApplication(exclude = {DynamicDataSourceAutoConfiguration.class, DataSourceAutoConfiguration.class }) public class ZhiLianDataSourceApplication { public static void main(String[] args) { SpringApplication.run(ZhiLianDataSourceApplication.class, args); diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DataSourceAsp.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DataSourceAsp.java index 6f7a9f3..ba1d9b9 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DataSourceAsp.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DataSourceAsp.java @@ -1,7 +1,8 @@ package com.zhiLian.datasource.config; import com.zhiLian.common.security.utils.SecurityUtils; -import com.zhiLian.datasource.DynamicDataSourceHolder; + +import com.zhiLian.datasource.config.holder.DynamicDataSourceHolder; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; @@ -17,7 +18,7 @@ import org.springframework.stereotype.Component; @Component public class DataSourceAsp { - @Pointcut("execution(public * com.zhiLian.datasource..*Controller.*(..))") + @Pointcut("execution(public * com.zhiLian.vehicle.controller.*Controller.*(..))") public void pointcut () { } @@ -30,8 +31,6 @@ public class DataSourceAsp { Long storeId = SecurityUtils.getLoginUser().getUserid(); DynamicDataSourceHolder.setDynamicDataSourceKey("test_"+storeId); } - - /** * 的每一個方法執行之后 執行的處理 * 无论正常还是异常终了 diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DruidConfig.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DruidConfig.java deleted file mode 100644 index 4d8e1ec..0000000 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DruidConfig.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.zhiLian.datasource.config; - -import com.alibaba.druid.pool.DruidDataSource; -import com.zhiLian.datasource.DataSourceInfo; -import lombok.extern.log4j.Log4j2; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; - -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @author DongZl - * @description: 数据源配置 - * @Date 2023-8-1 上午 11:05 - */ -@Log4j2 -@Configuration -public class DruidConfig { - - - private List getDataSourceInfoList(){ - List databaseNameList = new ArrayList<>(){{ - add("3306"); -// add("3307"); - }}; - return databaseNameList.stream().map(DataSourceInfo::databaseNameBuild).toList(); - } - - /** - * @Description: 根据传递的数据源信息测试数据库连接 - * @Author Dongzl - */ - public DruidDataSource createDataSourceConnection(DataSourceInfo dataSourceInfo) { - DruidDataSource druidDataSource = new DruidDataSource(); - druidDataSource.setUrl(dataSourceInfo.getUrl()); - druidDataSource.setUsername(dataSourceInfo.getUserName()); - druidDataSource.setPassword(dataSourceInfo.getPassword()); - druidDataSource.setBreakAfterAcquireFailure(true); - druidDataSource.setConnectionErrorRetryAttempts(0); - try { - druidDataSource.getConnection(2000); - log.info("{} -> 数据源连接成功", dataSourceInfo.getKey()); - return druidDataSource; - } catch (SQLException throwables) { - log.error("数据源 {} 连接失败,用户名:{},密码 {}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword()); - return null; - } - } - - @Bean - @Primary - public DynamicDataSource dynamicDataSource() { - - Map dataSourceMap = new HashMap<>(); - getDataSourceInfoList().forEach(dataSourceInfo -> { - dataSourceMap.put(dataSourceInfo.getKey(), createDataSourceConnection(dataSourceInfo)); - }); - //设置动态数据源 - DynamicDataSource dynamicDataSource = new DynamicDataSource(); -// dynamicDataSource.setDefaultTargetDataSource(masterDataSource()); - dynamicDataSource.setTargetDataSources(dataSourceMap); - //将数据源信息备份在defineTargetDataSources中 - dynamicDataSource.setDefineTargetDataSources(dataSourceMap); - return dynamicDataSource; - } -} diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/factory/DruidDataSourceFactory.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/factory/DruidDataSourceFactory.java new file mode 100644 index 0000000..b5c5cfb --- /dev/null +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/factory/DruidDataSourceFactory.java @@ -0,0 +1,44 @@ +package com.zhiLian.datasource.config.factory; + + +import com.alibaba.druid.pool.DruidDataSource; + +import com.zhiLian.datasource.domain.DataSourceInfo; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Component; + +import java.sql.SQLException; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName DruidDataSourceFactory + * @Date 2024/06/04 14:47 + */ +@Log4j2 +@Component +public class DruidDataSourceFactory { + + + /** + * @Description: 根据传递的数据源信息测试数据库连接 + * @Author Dongzl + */ + public DruidDataSource create(DataSourceInfo dataSourceInfo) { + DruidDataSource druidDataSource = new DruidDataSource(); + druidDataSource.setUrl(dataSourceInfo.getUrl()); + druidDataSource.setUsername(dataSourceInfo.getUserName()); + druidDataSource.setPassword(dataSourceInfo.getPassword()); + druidDataSource.setBreakAfterAcquireFailure(true); + druidDataSource.setConnectionErrorRetryAttempts(0); + try { + druidDataSource.getConnection(2000); + log.info("{} -> 数据源连接成功", dataSourceInfo.getKey()); + return druidDataSource; + } catch (SQLException throwables) { + log.error("数据源 {} 连接失败,用户名:{},密码 {}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword()); + return null; + } + } +} diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/DynamicDataSourceHolder.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/holder/DynamicDataSourceHolder.java similarity index 95% rename from zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/DynamicDataSourceHolder.java rename to zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/holder/DynamicDataSourceHolder.java index b9cf276..ad11dca 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/DynamicDataSourceHolder.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/holder/DynamicDataSourceHolder.java @@ -1,4 +1,5 @@ -package com.zhiLian.datasource; +package com.zhiLian.datasource.config.holder; + import lombok.extern.slf4j.Slf4j; import org.springframework.util.Assert; diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DynamicDataSource.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/role/DynamicDataSource.java similarity index 78% rename from zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DynamicDataSource.java rename to zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/role/DynamicDataSource.java index b189ea6..8106787 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/DynamicDataSource.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/config/role/DynamicDataSource.java @@ -1,8 +1,10 @@ -package com.zhiLian.datasource.config; +package com.zhiLian.datasource.config.role; -import com.zhiLian.datasource.DynamicDataSourceHolder; + +import com.zhiLian.datasource.config.holder.DynamicDataSourceHolder; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; @@ -17,8 +19,11 @@ import java.util.Map; @Data @AllArgsConstructor @NoArgsConstructor +@EqualsAndHashCode(callSuper = true) public class DynamicDataSource extends AbstractRoutingDataSource { - //备份所有数据源信息, + /** + * 备份所有数据源信息, 指针!! + */ private Map defineTargetDataSources; /** diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/CommonConstant.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/CommonConstant.java deleted file mode 100644 index 68aeaff..0000000 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/CommonConstant.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.zhiLian.datasource.contents; - -/** - * @Description: 动态数据源常量类 - * @Author Dongzl - * @Date 2022/8/18 16:33 - * - */ -public class CommonConstant { - /** - * 默认数据源标识 - */ - public static final String MASTER = "master"; - /** - * 从数据源标识 - */ - public static final String SLAVE = "slave"; -} diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/DatasourceContent.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/DatasourceContent.java index 3f60831..b69933b 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/DatasourceContent.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/contents/DatasourceContent.java @@ -7,7 +7,7 @@ package com.zhiLian.datasource.contents; */ public class DatasourceContent { - public final static String DATASOURCE_URL = "jdbc:mysql://122.51.111.225:{}/zhiLian-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; + public final static String DATASOURCE_URL = "jdbc:mysql://{}:{}/zhiLian-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8"; public final static String USER_NAME = "root"; diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/DataSourceInfo.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/DataSourceInfo.java similarity index 66% rename from zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/DataSourceInfo.java rename to zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/DataSourceInfo.java index f23b7cc..18b4cf0 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/DataSourceInfo.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/DataSourceInfo.java @@ -1,4 +1,4 @@ -package com.zhiLian.datasource; +package com.zhiLian.datasource.domain; import com.zhiLian.common.core.utils.StringUtils; @@ -6,8 +6,10 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; + import static com.zhiLian.datasource.contents.DatasourceContent.*; + /** * @author DongZl * @description: 数据源实体类 @@ -19,19 +21,30 @@ import static com.zhiLian.datasource.contents.DatasourceContent.*; @AllArgsConstructor public class DataSourceInfo { + /** + * 键 + */ private String key; + /** + * 地址 + */ private String url; + /** + * 用户名 + */ private String userName; + /** + * 密码 + */ private String password; - - public static DataSourceInfo databaseNameBuild(String databaseName){ + public static DataSourceInfo hostAndPortBuild(String key,String host, Integer port){ return DataSourceInfo.builder() - .key(databaseName) - .url(StringUtils.format(DATASOURCE_URL, databaseName)) + .key(key) + .url(StringUtils.format(DATASOURCE_URL, host,port)) .password(PASSWORD) .userName(USER_NAME) .build(); diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/EntInfo.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/EntInfo.java new file mode 100644 index 0000000..77f92b6 --- /dev/null +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/domain/EntInfo.java @@ -0,0 +1,29 @@ +package com.zhiLian.datasource.domain; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * BingRui.Hou + * + * @Description 描述 + * @ClassName EntInfo + * @Date 2024/06/04 14:34 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class EntInfo { + private String entCode; + + //ip + private String ip; + + //端口 + private Integer port; + +} diff --git a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/util/DataSourceService.java b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/util/DataSourceService.java index eb56cce..3421f4b 100644 --- a/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/util/DataSourceService.java +++ b/zhiLian-cloud-datasource/zhiLian-datasource-service/src/main/java/com/zhiLian/datasource/util/DataSourceService.java @@ -1,9 +1,11 @@ package com.zhiLian.datasource.util; import com.alibaba.druid.pool.DruidDataSource; -import com.zhiLian.datasource.DataSourceInfo; -import com.zhiLian.datasource.config.DruidConfig; -import com.zhiLian.datasource.config.DynamicDataSource; + +import com.zhiLian.datasource.ManyDataSource; +import com.zhiLian.datasource.config.factory.DruidDataSourceFactory; +import com.zhiLian.datasource.config.role.DynamicDataSource; +import com.zhiLian.datasource.domain.DataSourceInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -22,13 +24,16 @@ import java.util.Map; public class DataSourceService { @Autowired - private DruidConfig druidConfig; + private ManyDataSource druidConfig; + + @Autowired + private DruidDataSourceFactory druidDataSourceFactory; @Resource private DynamicDataSource dynamicDataSource; public void addDataSource(DataSourceInfo dataSourceInfo){ - addDefineDynamicDataSource(druidConfig.createDataSourceConnection(dataSourceInfo), dataSourceInfo.getKey()); + addDefineDynamicDataSource(druidDataSourceFactory.create(dataSourceInfo), dataSourceInfo.getKey()); } /** diff --git a/zhiLian-iotdb/src/main/java/com/zhiLian/iotdb/config/IotDBSessionConfig.java b/zhiLian-iotdb/src/main/java/com/zhiLian/iotdb/config/IotDBSessionConfig.java index 6e2f7c0..b58e28a 100644 --- a/zhiLian-iotdb/src/main/java/com/zhiLian/iotdb/config/IotDBSessionConfig.java +++ b/zhiLian-iotdb/src/main/java/com/zhiLian/iotdb/config/IotDBSessionConfig.java @@ -30,7 +30,7 @@ import java.util.List; public class IotDBSessionConfig { private static Session session; - private static final String LOCAL_HOST = "111.229.102.61"; + private static final String LOCAL_HOST = "192.168.120.128"; @Bean public Session getSession() throws IoTDBConnectionException, StatementExecutionException { if (session == null) { diff --git a/zhiLian-iotdb/src/main/resources/bootstrap.yml b/zhiLian-iotdb/src/main/resources/bootstrap.yml index b3cd4f0..431c448 100644 --- a/zhiLian-iotdb/src/main/resources/bootstrap.yml +++ b/zhiLian-iotdb/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ spring: kafka: producer: # Kafka服务器 - bootstrap-servers: 122.51.111.225:9092 + bootstrap-servers: 192.168.120.128:9092 # 开启事务,必须在开启了事务的方法中发送,否则报错 transaction-id-prefix: kafkaTx- # 发生错误后,消息重发的次数,开启事务必须设置大于0。 @@ -27,7 +27,7 @@ spring: consumer: # Kafka服务器 - bootstrap-servers: 122.51.111.225:9092 + bootstrap-servers: 192.168.120.128:9092 group-id: firstGroup # 自动提交的时间间隔 在spring boot 2.X 版本中这里采用的是值的类型为Duration 需要符合特定的格式,如1S,1M,2H,5D #auto-commit-interval: 2s @@ -90,10 +90,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 122.51.111.225:8848 + server-addr: 192.168.120.128:8848 config: # 配置中心地址 - server-addr: 122.51.111.225:8848 + server-addr: 192.168.120.128:8848 # namespace: a9b66e92-e507-47ba-9674-6f939f793aca # 配置文件格式 file-extension: yml diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java index e6bdc0b..442f5b8 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/ManyDataSource.java @@ -1,17 +1,15 @@ package com.zhiLian.vehicle.datasource; -import com.alibaba.druid.pool.DruidDataSource; import com.zhiLian.vehicle.datasource.config.factory.DruidDataSourceFactory; +import com.zhiLian.vehicle.datasource.config.role.DynamicDataSource; import com.zhiLian.vehicle.datasource.domain.DataSourceInfo; import com.zhiLian.vehicle.datasource.domain.EntInfo; -import com.zhiLian.vehicle.datasource.config.role.DynamicDataSource; import lombok.extern.log4j.Log4j2; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; -import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -31,9 +29,19 @@ public class ManyDataSource { List databaseNameList = new ArrayList<>(){{ add(EntInfo.builder() .entCode("test_1") + .ip("192.168.120.128") + .port(3306) + .build()); + add(EntInfo.builder() + .entCode("test_2") .ip("122.51.111.225") .port(6666) .build()); + add(EntInfo.builder() + .entCode("test_3") + .ip("122.51.111.225") + .port(3333) + .build()); }}; return databaseNameList; } @@ -48,7 +56,7 @@ public class ManyDataSource { Map dataSourceMap = new HashMap<>(); dataSourceInfoList() .stream() - .map(entInfo->DataSourceInfo.hostAndPortBuild(entInfo.getEntCode(),entInfo.getIp(),entInfo.getPort())) + .map(entInfo-> DataSourceInfo.hostAndPortBuild(entInfo.getEntCode(),entInfo.getIp(),entInfo.getPort())) .forEach(dataSourceInfo -> { dataSourceMap.put(dataSourceInfo.getKey(), druidDataSourceFactory.create(dataSourceInfo)); }); diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/factory/DruidDataSourceFactory.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/factory/DruidDataSourceFactory.java index 1a2644b..fc824ec 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/factory/DruidDataSourceFactory.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/factory/DruidDataSourceFactory.java @@ -2,18 +2,11 @@ package com.zhiLian.vehicle.datasource.config.factory; import com.alibaba.druid.pool.DruidDataSource; -import com.zhiLian.vehicle.datasource.config.role.DynamicDataSource; import com.zhiLian.vehicle.datasource.domain.DataSourceInfo; import lombok.extern.log4j.Log4j2; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Component; import java.sql.SQLException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; /** * BingRui.Hou diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java index cc80c91..3c46114 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/config/role/DynamicDataSource.java @@ -1,5 +1,6 @@ package com.zhiLian.vehicle.datasource.config.role; + import com.zhiLian.vehicle.datasource.config.holder.DynamicDataSourceHolder; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java index aa11272..0841a37 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/domain/EntInfo.java @@ -5,7 +5,6 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; /** * BingRui.Hou diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java index 408e07a..ac0df69 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/datasource/util/DataSourceService.java @@ -3,8 +3,8 @@ package com.zhiLian.vehicle.datasource.util; import com.alibaba.druid.pool.DruidDataSource; import com.zhiLian.vehicle.datasource.ManyDataSource; import com.zhiLian.vehicle.datasource.config.factory.DruidDataSourceFactory; -import com.zhiLian.vehicle.datasource.domain.DataSourceInfo; import com.zhiLian.vehicle.datasource.config.role.DynamicDataSource; +import com.zhiLian.vehicle.datasource.domain.DataSourceInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/FenceServiceImpl.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/FenceServiceImpl.java index 21956ca..33fff07 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/FenceServiceImpl.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/FenceServiceImpl.java @@ -1,16 +1,11 @@ package com.zhiLian.vehicle.service.impl; import java.util.List; - -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhiLian.common.core.utils.DateUtils; import com.zhiLian.vehicle.domain.Fence; -import com.zhiLian.vehicle.domain.Vehicle; import com.zhiLian.vehicle.mapper.FenceMapper; -import com.zhiLian.vehicle.mapper.VehicleMapper; import com.zhiLian.vehicle.service.IFenceService; -import com.zhiLian.vehicle.service.IVehicleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/GroupServiceImpl.java b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/GroupServiceImpl.java index 34f465a..fc01e11 100644 --- a/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/GroupServiceImpl.java +++ b/zhiLian-vehicle/zhiLian-vehicle-service/src/main/java/com/zhiLian/vehicle/service/impl/GroupServiceImpl.java @@ -3,11 +3,8 @@ package com.zhiLian.vehicle.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhiLian.common.core.utils.DateUtils; -import com.zhiLian.vehicle.domain.Fence; import com.zhiLian.vehicle.domain.Group; -import com.zhiLian.vehicle.mapper.FenceMapper; import com.zhiLian.vehicle.mapper.GroupMapper; -import com.zhiLian.vehicle.service.IFenceService; import com.zhiLian.vehicle.service.IGroupService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;