feat:资产客户端拆分连接池初始化

master_fei
Yunfei Du 2024-05-10 22:43:22 +08:00
parent 006ecfdc92
commit 8bf49fe5a2
13 changed files with 452 additions and 11 deletions

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.etl</groupId>
<artifactId>etl-data-source</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>etl-data-source-client</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-data-source-remote</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -10,10 +10,7 @@ import org.springframework.stereotype.Component;
* @author YunFei.Du
* @date 21:34 2024/5/8
*/
@ComponentScan
@Component
@Import ( value = {DataAccessClientRunner.class})
public class DataAccessClientConfig {
public static void main(String[] args) {
System.out.println ("连接池 编码" );
}
}

View File

@ -1,22 +1,43 @@
package com.etl.data.client.config;
import feign.Param;
import com.etl.data.domain.DataSource;
import com.etl.data.domain.config.DataSourceConfig;
import com.etl.data.domain.req.DataSourceQueryReq;
import com.etl.data.source.remote.RemoteDataSourceService;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import java.util.HashMap;
import java.util.List;
/**
* @ClassName DataAccessClientRunner
* @Description
* @Author YunFei.Du
* @Date 2024/5/8 21:35
* 访
* @author YunFei.Du
* @date 14:10 2024/5/10
*/
@Log4j2
public class DataAccessClientRunner implements ApplicationRunner {
@Autowired
private RemoteDataSourceService remoteDataSourceService;
@Override
public void run(ApplicationArguments args) throws Exception {
public void run(ApplicationArguments args) {
try {
List< DataSource > dataSourceList = remoteDataSourceService.getDataSourceList ( new DataSourceQueryReq () ).getData ( ).getRows ( );
HashMap< String, javax.sql.DataSource > hashMap = new HashMap<> ( );
for (DataSource dataSource : dataSourceList) {
log.info ( "dataSource:{}", dataSource );
javax.sql.DataSource dataSource1 = DataSourceConfig.dataSource ( dataSource.getHost ( ), dataSource.getDatabaseName ( ), dataSource.getPort ( ), dataSource.getUsername ( ), dataSource.getPassword ( ) );
log.info ( "dataSource111:{}", dataSource1 );
hashMap.put ( dataSource.getName ( ), dataSource1 );
}
} catch (Exception e) {
log.error ( "失败了" );
}
}
}

View File

@ -21,6 +21,22 @@
<groupId>com.etl</groupId>
<artifactId>etl-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.20</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.20</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-system</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -16,5 +16,24 @@
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-openfeign-core</artifactId>
</dependency>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine-common</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-data-source-common</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.etl</groupId>
<artifactId>etl-modules</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>etl-data-unit</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-data-source-client</artifactId>
<version>3.6.3</version>
</dependency>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-data-source-remote</artifactId>
<version>3.6.3</version>
</dependency>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- etl Common Log -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-log</artifactId>
</dependency>
<!-- etl Common Swagger -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-swagger</artifactId>
</dependency>
</dependencies>
<!-- -->
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- 加入maven deploy插件当在deploy时忽略些model-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,26 @@
package com.etl.data.unit;
import com.etl.common.security.annotation.EnableMyFeignClients;
import com.etl.common.swagger.annotation.EnableCustomSwagger2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* @ClassName DataUnitApplication
* @Description
* @Author YunFei.Du
* @Date 2024/5/10 9:55
*/
@EnableScheduling
@EnableCustomSwagger2
@EnableMyFeignClients
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
@EnableAsync
public class DataUnitApplication {
public static void main(String[] args) {
SpringApplication.run ( DataUnitApplication.class, args );
}
}

View File

@ -0,0 +1,2 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}

View File

@ -0,0 +1,34 @@
# Tomcat
server:
port: 9523
# Spring
spring:
main:
allow-circular-references: true
application:
# 应用名称
name: etl-data-unit
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: 111.229.102.61:8848
# 命名空间
namespace: etl
config:
# 配置中心地址
server-addr: 111.229.102.61:8848
# 命名空间
namespace: etl
# 配置文件格式
file-extension: yml
# 共享配置
shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
logging:
level:
com.etl.data.mapper: DEBUG

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>etl-rule-engine-client</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine-common</artifactId>
<version>3.6.3</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>etl-rule-engine-common</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>etl-rule-engine-remote</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine</artifactId>
<version>3.6.3</version>
</parent>
<artifactId>etl-rule-engine-server</artifactId>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<!-- SpringBoot Actuator -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.fox.version}</version>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- etl Common DataSource -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-datasource</artifactId>
</dependency>
<!-- etl Common DataScope -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-datascope</artifactId>
</dependency>
<!-- etl Common Log -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-log</artifactId>
</dependency>
<!-- etl Common Swagger -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-common-swagger</artifactId>
</dependency>
<!-- ETL模块 公共依赖 -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-data-source-common</artifactId>
</dependency>
<!-- ETL模块 远程调用 依赖 -->
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-data-source-remote</artifactId>
</dependency>
<!-- 添加 PostgreSQL JDBC 驱动 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.5.0</version> <!-- 使用当前最新稳定版本 -->
</dependency>
<dependency>
<groupId>com.etl</groupId>
<artifactId>etl-rule-engine-common</artifactId>
<version>3.6.3</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- 加入maven deploy插件当在deploy时忽略些model-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</project>