From 6af3adc8fb79cd393c3e5ed96b7dcb83bf663ce6 Mon Sep 17 00:00:00 2001
From: Saisai Liu <1374434128@qq.com>
Date: Sun, 12 May 2024 22:43:15 +0800
Subject: [PATCH] =?UTF-8?q?feat():=E5=88=86=E7=A6=BB=E5=AE=A2=E6=88=B7?=
=?UTF-8?q?=E7=AB=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
muyu-modules/muyu-etl/muyu-etl-client/pom.xml | 10 +-
.../java/com/muyu/etl/AssetClientRunner.java | 36 ++++--
.../java/com/muyu/etl/MainApplication.java | 26 ++++
...ot.autoconfigure.AutoConfiguration.imports | 3 +-
.../src/main/resources/bootstrap.yml | 4 +-
muyu-modules/muyu-etl/muyu-etl-common/pom.xml | 10 ++
.../java/com/muyu/etl/util}/JDBCUtils.java | 2 +-
.../etl/util/factory}/DruidUtilsFactory.java | 16 ++-
.../util}/service/ConnectionPoolFactory.java | 2 +-
.../muyu-etl/muyu-etl-service/pom.xml | 20 ++-
.../controller/BasicConfigInfoController.java | 2 +-
.../impl/BasicConfigInfoServiceImpl.java | 59 ++++++---
.../src/main/resources/bootstrap.yml | 17 +++
.../com/muyu/EngineClientApplication.java | 18 ---
.../muyu-unit/muyu-unit-common/pom.xml | 30 +++++
.../muyu-unit/muyu-unit-remote/pom.xml | 20 +++
.../muyu-unit/muyu-unit-service/pom.xml | 118 ++++++++++++++++++
.../main/java/com/muyu/UnitApplication.java} | 4 +-
.../java/com/muyu/custom/AddInitConn.java | 56 +++++++++
...ot.autoconfigure.AutoConfiguration.imports | 4 +
.../src/main/resources/bootstrap.yml | 46 +++++++
muyu-modules/muyu-unit/pom.xml | 26 ++++
muyu-modules/pom.xml | 1 +
pom.xml | 7 ++
24 files changed, 468 insertions(+), 69 deletions(-)
create mode 100644 muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/MainApplication.java
rename muyu-modules/muyu-etl/{muyu-etl-client/src/main/java/com/muyu/etl/uitl => muyu-etl-common/src/main/java/com/muyu/etl/util}/JDBCUtils.java (98%)
rename muyu-modules/muyu-etl/{muyu-etl-client/src/main/java/com/muyu/etl/uitl => muyu-etl-common/src/main/java/com/muyu/etl/util/factory}/DruidUtilsFactory.java (86%)
rename muyu-modules/muyu-etl/{muyu-etl-client/src/main/java/com/muyu/etl/uitl => muyu-etl-common/src/main/java/com/muyu/etl/util}/service/ConnectionPoolFactory.java (94%)
delete mode 100644 muyu-modules/muyu-ruleEngine/muyu-ruleEngine-client/src/main/java/com/muyu/EngineClientApplication.java
create mode 100644 muyu-modules/muyu-unit/muyu-unit-common/pom.xml
create mode 100644 muyu-modules/muyu-unit/muyu-unit-remote/pom.xml
create mode 100644 muyu-modules/muyu-unit/muyu-unit-service/pom.xml
rename muyu-modules/{muyu-etl/muyu-etl-client/src/main/java/com/muyu/EtlClientApplication.java => muyu-unit/muyu-unit-service/src/main/java/com/muyu/UnitApplication.java} (85%)
create mode 100644 muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/custom/AddInitConn.java
create mode 100644 muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/bootstrap.yml
create mode 100644 muyu-modules/muyu-unit/pom.xml
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/pom.xml b/muyu-modules/muyu-etl/muyu-etl-client/pom.xml
index c1f29ed..a51f6e4 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/pom.xml
+++ b/muyu-modules/muyu-etl/muyu-etl-client/pom.xml
@@ -79,21 +79,21 @@
-
- com.muyu
- muyu-common-log
-
+
+
+
+
com.muyu
muyu-common-swagger
+
com.muyu
muyu-etl-remote
3.6.3
- compile
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/AssetClientRunner.java b/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/AssetClientRunner.java
index 3c75425..242d990 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/AssetClientRunner.java
+++ b/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/AssetClientRunner.java
@@ -5,8 +5,8 @@ import com.muyu.common.core.constant.SecurityConstants;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.etl.domain.BasicConfigInfo;
-import com.muyu.etl.uitl.DruidUtilsFactory;
-import com.muyu.etl.uitl.service.ConnectionPoolFactory;
+import com.muyu.etl.util.factory.DruidUtilsFactory;
+import com.muyu.etl.util.service.ConnectionPoolFactory;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
@@ -34,22 +34,32 @@ public class AssetClientRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws ServletException {
- Result> result = remoteAssetService.list(new BasicConfigInfo(), SecurityConstants.INNER);
- log.info("初始话内容为{}",result);
- if (result.getData().getRows().isEmpty()) throw new ServletException("初始化调用失败,无数据");
- result.getData().getRows().stream().map(basicConfigInfo -> {
+ BasicConfigInfo basicConfigInfoSel = new BasicConfigInfo() {{
+ setIsTest("1");
+ }};
+ Result> result = remoteAssetService.list(basicConfigInfoSel, SecurityConstants.INNER);
+ log.info("初始话内容为{}", result);
+ List rows = result.getData().getRows();
+ if (rows.isEmpty()) throw new ServletException("初始化调用失败,无数据");
+ log.info(rows);
+ int a = 0;
+ for (BasicConfigInfo basicConfigInfo : rows) {
+ a++;
+ log.info("a:{}", a);
+ log.warn("接入信息:{}", basicConfigInfo);
DruidPooledConnection init = null;
try {
+ log.info("初始化开始");
init = connectionPoolFactory.init(basicConfigInfo);
- log.info("初始化结果:{}",init);
- } catch (SQLException e) {
- log.error("初始化异常:{}",e.getMessage());
- throw new RuntimeException(e);
+ log.info("初始化结果:{}", init);
+ } catch (Exception e) {
+ log.error("初始化异常:{}", e.getMessage());
+ //跳过
+ continue;
}
- return init;
- });
+ }
log.info("初始化完成");
- log.info("连接池::{}",DruidUtilsFactory.map);
+ log.info("连接池::{}", DruidUtilsFactory.map);
}
}
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/MainApplication.java b/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/MainApplication.java
new file mode 100644
index 0000000..c2e0a37
--- /dev/null
+++ b/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/MainApplication.java
@@ -0,0 +1,26 @@
+//package com.muyu.etl;
+//
+//import com.muyu.common.security.annotation.EnableCustomConfig;
+//import com.muyu.common.security.annotation.EnableMyFeignClients;
+//import com.muyu.common.swagger.annotation.EnableCustomSwagger2;
+//import com.sun.tools.javac.Main;
+//import org.springframework.boot.SpringApplication;
+//import org.springframework.boot.autoconfigure.SpringBootApplication;
+//import org.springframework.cloud.openfeign.EnableFeignClients;
+//
+///**
+// * @ClassName Main
+// * @Description 描述
+// * @Author SaiSai.Liu
+// * @Date 2024/5/11 16:20
+// */
+//@EnableCustomConfig
+//@EnableCustomSwagger2
+//@EnableMyFeignClients
+//@EnableFeignClients
+//@SpringBootApplication
+//public class MainApplication {
+// public static void main(String[] args) {
+// SpringApplication.run(MainApplication.class);
+// }
+//}
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index c34ba1d..900cf2e 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1,2 +1,3 @@
com.muyu.etl.AssetClientRunner
-com.muyu.etl.uitl.DruidUtilsFactory
+com.muyu.etl.util.factory.DruidUtilsFactory
+#com.muyu.etl.util.service.ConnectionPoolFactory
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/bootstrap.yml b/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/bootstrap.yml
index ff9286f..0607e84 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/bootstrap.yml
+++ b/muyu-modules/muyu-etl/muyu-etl-client/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
# Tomcat
server:
- port: 9215
+ port: 9225
# Spring
spring:
@@ -26,4 +26,4 @@ spring:
logging:
level:
com.muyu.etl.mapper: DEBUG
- com.example.springmvctest.feign.api: DEBUG
+ com.muyu.etl.feign.api: DEBUG
diff --git a/muyu-modules/muyu-etl/muyu-etl-common/pom.xml b/muyu-modules/muyu-etl/muyu-etl-common/pom.xml
index 30a367d..98239e9 100644
--- a/muyu-modules/muyu-etl/muyu-etl-common/pom.xml
+++ b/muyu-modules/muyu-etl/muyu-etl-common/pom.xml
@@ -26,5 +26,15 @@
com.muyu
muyu-common-security
+
+ mysql
+ mysql-connector-java
+
+
+ com.alibaba
+ druid
+ 1.2.8
+
+
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/JDBCUtils.java b/muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/JDBCUtils.java
similarity index 98%
rename from muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/JDBCUtils.java
rename to muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/JDBCUtils.java
index ebe1126..531e407 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/JDBCUtils.java
+++ b/muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/JDBCUtils.java
@@ -1,4 +1,4 @@
-package com.muyu.etl.uitl;
+package com.muyu.etl.util;
import java.io.FileInputStream;
import java.io.IOException;
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/DruidUtilsFactory.java b/muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/factory/DruidUtilsFactory.java
similarity index 86%
rename from muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/DruidUtilsFactory.java
rename to muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/factory/DruidUtilsFactory.java
index 756b548..d0a78d4 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/DruidUtilsFactory.java
+++ b/muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/factory/DruidUtilsFactory.java
@@ -1,9 +1,9 @@
-package com.muyu.etl.uitl;
+package com.muyu.etl.util.factory;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.muyu.etl.domain.BasicConfigInfo;
-import com.muyu.etl.uitl.service.ConnectionPoolFactory;
+import com.muyu.etl.util.service.ConnectionPoolFactory;
import java.sql.Connection;
import java.sql.SQLException;
@@ -15,6 +15,7 @@ public class DruidUtilsFactory implements ConnectionPoolFactory
/**
* 初始化连接池
+ *
* @param basicConfigInfo
* @return
* @throws SQLException
@@ -32,10 +33,18 @@ public class DruidUtilsFactory implements ConnectionPoolFactory
source.setUrl("jdbc:" + databaseType + "://" + host + ":" + port + "/" + databaseName + "?" + basicConfigInfo.getConnectionParams());
source.setUsername(basicConfigInfo.getUsername());
source.setPassword(basicConfigInfo.getPassword());
+ //初始化连接量
source.setInitialSize(Math.toIntExact(basicConfigInfo.getInitLinkNum()));
+ //最大连接数
source.setMaxActive(Math.toIntExact(basicConfigInfo.getMaxLinkNum()));
source.setMaxWaitThreadCount(Math.toIntExact(basicConfigInfo.getMaxWaitTimes()));
+ //连接池中的最大最小生存时间
source.setMaxEvictableIdleTimeMillis(basicConfigInfo.getMaxWaitTime());
+ source.setMinEvictableIdleTimeMillis(30000);
+ //最大等待时间
+ source.setTimeBetweenEvictionRunsMillis(30000);
+ //进程最大等待时间
+ source.setMaxWait(basicConfigInfo.getMaxWaitTime());
DruidPooledConnection pool = source.getConnection();
map.put(host + ":" + port + "/" + databaseName, pool);
// 获取并返回连接池对象
@@ -44,6 +53,7 @@ public class DruidUtilsFactory implements ConnectionPoolFactory
/**
* 根据接入取出一个连接对象
+ *
* @param basicConfigInfo
* @return
*/
@@ -59,6 +69,7 @@ public class DruidUtilsFactory implements ConnectionPoolFactory
/**
* 将连接对象放回连接池
+ *
* @param basicConfigInfo
* @param connection
*/
@@ -72,5 +83,4 @@ public class DruidUtilsFactory implements ConnectionPoolFactory
}
-
}
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/service/ConnectionPoolFactory.java b/muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/service/ConnectionPoolFactory.java
similarity index 94%
rename from muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/service/ConnectionPoolFactory.java
rename to muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/service/ConnectionPoolFactory.java
index 64e2294..52b01d3 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/etl/uitl/service/ConnectionPoolFactory.java
+++ b/muyu-modules/muyu-etl/muyu-etl-common/src/main/java/com/muyu/etl/util/service/ConnectionPoolFactory.java
@@ -1,4 +1,4 @@
-package com.muyu.etl.uitl.service;
+package com.muyu.etl.util.service;
import com.alibaba.druid.pool.DruidPooledConnection;
diff --git a/muyu-modules/muyu-etl/muyu-etl-service/pom.xml b/muyu-modules/muyu-etl/muyu-etl-service/pom.xml
index 0db0198..7ea09bf 100644
--- a/muyu-modules/muyu-etl/muyu-etl-service/pom.xml
+++ b/muyu-modules/muyu-etl/muyu-etl-service/pom.xml
@@ -89,10 +89,24 @@
com.muyu
muyu-common-swagger
+
+
- com.alibaba
- druid
- 1.2.8
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-xml
+ 2.9.10
diff --git a/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/controller/BasicConfigInfoController.java b/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/controller/BasicConfigInfoController.java
index 6abf457..c2ea022 100644
--- a/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/controller/BasicConfigInfoController.java
+++ b/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/controller/BasicConfigInfoController.java
@@ -45,7 +45,7 @@ public class BasicConfigInfoController extends BaseController {
*/
// @RequiresPermissions("etl:info:list")
@PostMapping("/list")
- public Result> list(BasicConfigInfo basicConfigInfo) {
+ public Result> list(@RequestBody BasicConfigInfo basicConfigInfo) {
startPage();
List list = basicConfigInfoService.selectBasicConfigInfoList(basicConfigInfo);
return getDataTable(list);
diff --git a/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/service/impl/BasicConfigInfoServiceImpl.java b/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/service/impl/BasicConfigInfoServiceImpl.java
index 0dba7f3..fbb279a 100644
--- a/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/service/impl/BasicConfigInfoServiceImpl.java
+++ b/muyu-modules/muyu-etl/muyu-etl-service/src/main/java/com/muyu/etl/service/impl/BasicConfigInfoServiceImpl.java
@@ -1,8 +1,10 @@
package com.muyu.etl.service.impl;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.muyu.common.core.utils.uuid.UUID;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.etl.domain.BasicConfigInfo;
import com.muyu.etl.domain.Structure;
@@ -18,6 +20,12 @@ import com.muyu.etl.service.StructureService;
import com.muyu.etl.service.TableInfoService;
import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.core.ExchangeTypes;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.Exchange;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.QueueBinding;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -50,6 +58,9 @@ public class BasicConfigInfoServiceImpl extends ServiceImpl() {{
- eq(BasicConfigInfo::getId, basicConfigInfo.getId());
- }});
System.out.println("Connected to the MySQL server successfully.");
//同步数据库信息
+ basicConfigInfo.setIsTest("1");
+ this.update(basicConfigInfo, new LambdaUpdateWrapper<>(BasicConfigInfo.class) {{
+ eq(BasicConfigInfo::getId, basicConfigInfo.getId());
+ }});
//树级结构,库,表
TableInfo tableInfoInsert = TableInfo.builder()
.basicId(basicConfigInfo.getId())
@@ -216,25 +227,34 @@ public class BasicConfigInfoServiceImpl extends ServiceImpl{
+ message.getMessageProperties().setConsumerTag(UUID.randomUUID().toString().replaceAll("-",""));
+ return message;
+ });
} catch (SQLException e) {
log.error(e.getMessage());
+ basicConfigInfo.setIsTest("0");
+ this.update(basicConfigInfo, new LambdaUpdateWrapper() {{
+ eq(BasicConfigInfo::getId, basicConfigInfo.getId());
+ }});
throw new ServletException("连接失败");
}
return true;
@@ -449,7 +469,7 @@ public class BasicConfigInfoServiceImpl extends ServiceImpl
+
+ 4.0.0
+
+ com.muyu
+ muyu-unit
+ 3.6.3
+
+
+ muyu-unit-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ muyu-etl-client
+
+
+ com.muyu
+ muyu-ruleEngine-client
+
+
+
diff --git a/muyu-modules/muyu-unit/muyu-unit-remote/pom.xml b/muyu-modules/muyu-unit/muyu-unit-remote/pom.xml
new file mode 100644
index 0000000..5070b81
--- /dev/null
+++ b/muyu-modules/muyu-unit/muyu-unit-remote/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-unit
+ 3.6.3
+
+
+ muyu-unit-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/muyu-modules/muyu-unit/muyu-unit-service/pom.xml b/muyu-modules/muyu-unit/muyu-unit-service/pom.xml
new file mode 100644
index 0000000..87646fd
--- /dev/null
+++ b/muyu-modules/muyu-unit/muyu-unit-service/pom.xml
@@ -0,0 +1,118 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-unit
+ 3.6.3
+
+
+ muyu-unit-service
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+ com.muyu
+ muyu-etl-client
+ 3.6.3
+
+
+
+ com.muyu
+ muyu-ruleEngine-client
+ 3.6.3
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.muyu
+ muyu-common-datasource
+
+
+
+
+ com.muyu
+ muyu-common-datascope
+
+
+
+
+ com.muyu
+ muyu-common-log
+
+
+
+
+ com.muyu
+ muyu-common-swagger
+
+
+
+ com.muyu
+ muyu-common-swagger
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-amqp
+
+
+
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-xml
+ 2.9.10
+
+
+
diff --git a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/EtlClientApplication.java b/muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/UnitApplication.java
similarity index 85%
rename from muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/EtlClientApplication.java
rename to muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/UnitApplication.java
index 634be56..c17325f 100644
--- a/muyu-modules/muyu-etl/muyu-etl-client/src/main/java/com/muyu/EtlClientApplication.java
+++ b/muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/UnitApplication.java
@@ -12,8 +12,8 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
@EnableMyFeignClients
@EnableFeignClients
@SpringBootApplication
-public class EtlClientApplication {
+public class UnitApplication {
public static void main(String[] args) {
- SpringApplication.run(EtlClientApplication.class);
+ SpringApplication.run(UnitApplication.class);
}
}
diff --git a/muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/custom/AddInitConn.java b/muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/custom/AddInitConn.java
new file mode 100644
index 0000000..115d6cc
--- /dev/null
+++ b/muyu-modules/muyu-unit/muyu-unit-service/src/main/java/com/muyu/custom/AddInitConn.java
@@ -0,0 +1,56 @@
+package com.muyu.custom;
+
+import com.alibaba.druid.pool.DruidPooledConnection;
+import com.alibaba.fastjson2.JSON;
+import com.muyu.etl.RemoteAssetService;
+import com.muyu.etl.domain.BasicConfigInfo;
+import com.muyu.etl.util.service.ConnectionPoolFactory;
+import com.rabbitmq.client.Channel;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.Queue;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.ServletException;
+import java.io.IOException;
+import java.sql.SQLException;
+
+/**
+ * 初始化添加的连接池接入配置
+ * @ClassName AddInitConn
+ * @Description 初始化添加的连接池接入配置
+ * @Author SaiSai.Liu
+ * @Date 2024/5/12 14:18
+ */
+
+@Component
+@Log4j2
+public class AddInitConn {
+ @Autowired
+ private RabbitTemplate rabbitTemplate;
+ @Autowired
+ private ConnectionPoolFactory connectionPoolFactory;
+ @RabbitListener(queuesToDeclare = {@Queue(name = "basicInfoQueue")})
+ public void myConsumer(String basicInfo, Message message, Channel channel) throws ServletException {
+ if (basicInfo == null){
+ throw new ServletException("队列内容为空");
+ }
+ BasicConfigInfo basicConfigInfo = JSON.parseObject(basicInfo, BasicConfigInfo.class);
+ try {
+ DruidPooledConnection init = connectionPoolFactory.init(basicConfigInfo);
+ if (init == null){
+ // 消息拒绝,放回队列中重新消费
+ channel.basicReject(message.getMessageProperties().getDeliveryTag(), true);
+ }else {
+ // 消息消费确认
+ channel.basicAck(message.getMessageProperties().getDeliveryTag(), true);
+ }
+ } catch (SQLException | IOException e) {
+ log.error("初始化连接池失败,消费失败");
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..b9591db
--- /dev/null
+++ b/muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1,4 @@
+com.muyu.etl.AssetClientRunner
+com.muyu.etl.factory.RemoteAssetFallbackFactory
+com.muyu.etl.util.factory.DruidUtilsFactory
+#com.muyu.etl.util.service.ConnectionPoolFactory
diff --git a/muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/bootstrap.yml b/muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..9929d0a
--- /dev/null
+++ b/muyu-modules/muyu-unit/muyu-unit-service/src/main/resources/bootstrap.yml
@@ -0,0 +1,46 @@
+# Tomcat
+server:
+ port: 9215
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: muyu-unit
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 43.142.100.73:8848
+ config:
+ # 配置中心地址
+ server-addr: 43.142.100.73:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ rabbitmq:
+ host: 43.142.100.73
+ port: 5672
+ username: guest
+ password: guest
+ virtual-host: /
+ publisher-confirm-type: correlated #确认消息已发送到交换机(Exchange)
+ publisher-returns: true #确认消息已发送到队列(Queue)
+ listener:
+ simple:
+ prefetch: 1 # 每次只能获取一条,处理完成才能获取下一条
+ acknowledge-mode: manual # 设置消费端手动ack确认
+ retry:
+ enabled: true # 是否支持重试
+ template:
+ # 只要消息抵达Queue,就会异步发送优先回调return firm
+ mandatory: true
+logging:
+ level:
+ com.muyu.etl.mapper: DEBUG
+
diff --git a/muyu-modules/muyu-unit/pom.xml b/muyu-modules/muyu-unit/pom.xml
new file mode 100644
index 0000000..593427c
--- /dev/null
+++ b/muyu-modules/muyu-unit/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.muyu
+ muyu-modules
+ 3.6.3
+
+
+ muyu-unit
+ pom
+
+ muyu-unit-common
+ muyu-unit-service
+ muyu-unit-remote
+
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/muyu-modules/pom.xml b/muyu-modules/pom.xml
index b193b26..ebc62d1 100644
--- a/muyu-modules/pom.xml
+++ b/muyu-modules/pom.xml
@@ -15,6 +15,7 @@
muyu-file
muyu-etl
muyu-ruleEngine
+ muyu-unit
muyu-modules
diff --git a/pom.xml b/pom.xml
index 949907b..b3d7d4e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -220,6 +220,13 @@
${muyu.version}
+
+
+ com.muyu
+ muyu-unit-common
+ ${muyu.version}
+
+