feat() 连接池初版V1.1
parent
064873ecc7
commit
af247c3d7b
|
@ -36,23 +36,23 @@ public class DataSourceClientRunner implements ApplicationRunner {
|
|||
private DataTypeRemoteService dataTypeRemoteService;
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args){
|
||||
public void run(ApplicationArguments args) {
|
||||
try {
|
||||
Result<List<DataSource>> dataSourceResultList = dataSourceRemoteService.dataSourceList();
|
||||
if (dataSourceResultList.getData() == null || dataSourceResultList.getData().isEmpty()){
|
||||
if (dataSourceResultList.getData() == null || dataSourceResultList.getData().isEmpty()) {
|
||||
log.error("数据源列表为空");
|
||||
return;
|
||||
}
|
||||
List<DataSource> dataSourceList = dataSourceResultList.getData();
|
||||
log.info("数据源列表查询成功当前数据为{}" ,dataSourceList);
|
||||
log.info("数据源列表查询成功当前数据为{}", dataSourceList);
|
||||
// 获取数据源类型列表
|
||||
Result<List<DataType>> dataTypeResultList = dataTypeRemoteService.list();
|
||||
if (dataTypeResultList.getData() == null || dataTypeResultList.getData().isEmpty()){
|
||||
if (dataTypeResultList.getData() == null || dataTypeResultList.getData().isEmpty()) {
|
||||
log.error("数据源类型列表为空");
|
||||
return;
|
||||
}
|
||||
List<DataType> dataTypeList = dataTypeResultList.getData();
|
||||
log.info("数据源类型列表查询成功当前数据为{}" ,dataTypeList);
|
||||
log.info("数据源类型列表查询成功当前数据为{}", dataTypeList);
|
||||
// 将数据源类型转换为Map ## Function.identity() 这个方法是返回一个自己
|
||||
Map<Long, DataType> dataTypeMap = dataTypeList.stream()
|
||||
.collect(
|
||||
|
@ -63,21 +63,21 @@ public class DataSourceClientRunner implements ApplicationRunner {
|
|||
// 创建数据源Map
|
||||
HashMap<String, javax.sql.DataSource> stringDataSourceHashMap = new HashMap<>();
|
||||
// 遍历数据源列表
|
||||
for (DataSource datum : dataSourceList){
|
||||
for (DataSource datum : dataSourceList) {
|
||||
// 过滤相应的数据源类型
|
||||
Optional<DataType> dataType = Optional.ofNullable(dataTypeMap.get(datum.getTypeId()));
|
||||
if (dataType.isPresent()){
|
||||
if (dataType.isPresent()) {
|
||||
javax.sql.DataSource dataSource = DataSourceConfig.dataSource(datum, dataType.get());
|
||||
stringDataSourceHashMap.put(datum.getDataSourceIp()+"-"+datum.getDataSourceDatabaseName(),dataSource);
|
||||
}else {
|
||||
stringDataSourceHashMap.put(datum.getDataSourceIp() + "-" + datum.getDataSourceDatabaseName(), dataSource);
|
||||
} else {
|
||||
log.error("未找到数据源 ID 为 {} 的数据类型", datum.getTypeId());
|
||||
}
|
||||
Singleton instance = Singleton.getInstance(stringDataSourceHashMap);
|
||||
Map<String, javax.sql.DataSource> map = instance.getMap();
|
||||
log.info("数据源连接池初始化成功{}",map);
|
||||
log.info("数据源连接池初始化成功{}", map);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("初始化数据源连接池失败{}",e.getMessage());
|
||||
log.error("初始化数据源连接池失败{}", e.getMessage());
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue