From 0b97b1e2edb33bc792ae31c774aaf3f65a9ae22e Mon Sep 17 00:00:00 2001 From: xinzirun Date: Sun, 22 Sep 2024 10:06:44 +0800 Subject: [PATCH] =?UTF-8?q?fix():=20=E4=BF=AE=E5=A4=8D=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../many/datasource/ManyDataSource.java | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java index 08f2300..a54d1be 100644 --- a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java +++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/ManyDataSource.java @@ -11,6 +11,7 @@ import com.muyu.cloud.common.saas.domain.model.EntInfo; import com.muyu.cloud.common.saas.exception.SaaSException; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.SpringUtils; +import com.muyu.common.core.utils.StringUtils; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.remote.RemoteUserService; import lombok.extern.log4j.Log4j2; @@ -78,7 +79,7 @@ public class ManyDataSource implements ApplicationRunner { ) .toList(); }else { - log.error("远调数据源错误,远调数据为:{}", JSON.toJSONString(data)); + log.error("远调数据源异常,异常信息:{}", JSON.toJSONString(entListResult.getMsg())); return null; } } @@ -91,6 +92,10 @@ public class ManyDataSource implements ApplicationRunner { */ @Bean public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { + List entInfoList = dataSourceInfoList(); + if(StringUtils.isEmpty(entInfoList)){ + throw new SaaSException("数据源信息列表为空或为null"); + } Map dataSourceMap = dataSourceInfoList().stream() .map(entInfo -> DataSourceInfo.hostAndPortBuild( entInfo.getEntCode(), @@ -109,19 +114,4 @@ public class ManyDataSource implements ApplicationRunner { dynamicDataSource.setDefineTargetDataSources(dataSourceMap); return dynamicDataSource; } - - /** - * 创建 SqlSessionFactory Bean,用于 MyBatis 数据库操作。 - * 该方法接收动态数据源并配置 SqlSessionFactory,返回 - * 用于与数据库交互的 SqlSessionFactory 实例。 - * @param dataSource 动态数据源 - * @return 配置好的 SqlSessionFactory 实例 - * @throws Exception 可能抛出的异常 - */ - @Bean - public SqlSessionFactory sqlSessionFactory(DynamicDataSource dataSource) throws Exception { - SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); - sessionFactory.setDataSource(dataSource); - return sessionFactory.getObject(); - } }