微服务配置调整:1、移除微服务部分无用配置,规范配置;2、报表微微服务增加支持动态数据源/多租户、增加支持自定义banner控制台输出;

This commit is contained in:
gaoqr
2024-09-18 16:53:02 +08:00
parent 7493703f34
commit 5dbd4c8742
21 changed files with 116 additions and 101 deletions
@@ -42,6 +42,10 @@
</dependency>
<!-- 业务组件 -->
<dependency>
<groupId>com.cf.imes</groupId>
<artifactId>cf-spring-boot-starter-banner</artifactId>
</dependency>
<dependency>
<groupId>com.cf.imes</groupId>
<artifactId>cf-spring-boot-starter-biz-operatelog</artifactId>
@@ -0,0 +1,50 @@
package com.cf.imes.module.report.config;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.dynamic.datasource.creator.DataSourceProperty;
import com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator;
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
import com.cf.imes.module.report.dal.dataobject.register.RegisterDO;
import com.cf.imes.module.report.dal.mysql.register.RegisterMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import java.util.List;
/**
* @author there
*/
@Slf4j
@Component
public class DataSourceInitializer {
@Autowired
private DefaultDataSourceCreator defaultDataSourceCreator;
@Autowired
private RegisterMapper registerMapper;
@Autowired
private DataSource dataSource;
@PostConstruct
public void init() {
DynamicRoutingDataSource dynamicRoutingDataSource = (DynamicRoutingDataSource) dataSource;
OrganContextHolder.setOrganId(0L);
List<RegisterDO> registerDOS = registerMapper.findAll();
OrganContextHolder.clear();
for (RegisterDO registerDO : registerDOS) {
DataSourceProperty dataSourceProperty = new DataSourceProperty();
dataSourceProperty.setPoolName(registerDO.getCode());
dataSourceProperty.setUrl(registerDO.getDbUrl());
dataSourceProperty.setUsername(registerDO.getDbUsername());
dataSourceProperty.setPassword(registerDO.getDbPassword());
DataSource dataSource = defaultDataSourceCreator.createDataSource(dataSourceProperty);
dynamicRoutingDataSource.addDataSource(registerDO.getCode(), dataSource);
}
}
}
@@ -0,0 +1,23 @@
package com.cf.imes.module.report.dal.dataobject.register;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author there
*/
@Data
@TableName("system_db_register")
public class RegisterDO {
@TableId
private Integer id;
private String code;
private String dbUrl;
private String dbUsername;
private String dbPassword;
}
@@ -0,0 +1,18 @@
package com.cf.imes.module.report.dal.mysql.register;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.report.dal.dataobject.register.RegisterDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @author there
*/
@Mapper
public interface RegisterMapper extends BaseMapperX<RegisterDO> {
@Select("select * from system_db_register")
List<RegisterDO> findAll();
}
@@ -41,13 +41,7 @@ spring:
master:
name: imes_base
url: jdbc:mysql://192.168.1.205:3307/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
name: imes_base
url: jdbc:mysql://192.168.1.205:3307/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
driver-class-name: com.mysql.jdbc.Driver
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
@@ -98,4 +92,3 @@ chenfeng:
exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
demo: false # 开启演示模式
@@ -43,6 +43,7 @@ spring:
master:
name: imes_base
url: jdbc:mysql://192.168.1.205:3307/${spring.datasource.dynamic.datasource.master.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.master.name} # PostgreSQL 连接的示例
# url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
@@ -51,17 +52,6 @@ spring:
password: root
# username: sa
# password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
slave: # 模拟从库,可根据自己需要修改
name: imes_base
url: jdbc:mysql://192.168.1.205:3307/${spring.datasource.dynamic.datasource.slave.name}?allowMultiQueries=true&useUnicode=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例
# url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT # MySQL Connector/J 5.X 连接的示例
# url: jdbc:postgresql://127.0.0.1:5432/${spring.datasource.dynamic.datasource.slave.name} # PostgreSQL 连接的示例
# url: jdbc:oracle:thin:@127.0.0.1:1521:xe # Oracle 连接的示例
# url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=${spring.datasource.dynamic.datasource.slave.name} # SQLServer 连接的示例
username: root
password: root
# username: sa
# password: JSm:g(*%lU4ZAkz06cd52KqT3)i1?H7W
# Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优
redis:
@@ -122,5 +112,4 @@ chenfeng:
access-log: # 访问日志的配置项
enable: false
error-code: # 错误码相关配置项
enable: false
demo: false # 关闭演示模式
enable: false
@@ -105,6 +105,4 @@ chenfeng:
ignore-tables:
encrypt:
enable: false
publicKey: cfimes
debug: false
publicKey: cfimes