fix(): 修复空指针异常问题

master
xinzirun 2024-09-22 10:06:44 +08:00
parent d81b53910e
commit 0b97b1e2ed
1 changed files with 6 additions and 16 deletions

View File

@ -11,6 +11,7 @@ import com.muyu.cloud.common.saas.domain.model.EntInfo;
import com.muyu.cloud.common.saas.exception.SaaSException; import com.muyu.cloud.common.saas.exception.SaaSException;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.SpringUtils; 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.domain.SysUser;
import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.remote.RemoteUserService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -78,7 +79,7 @@ public class ManyDataSource implements ApplicationRunner {
) )
.toList(); .toList();
}else { }else {
log.error("远调数据源错误,远调数据为:{}", JSON.toJSONString(data)); log.error("远调数据源异常,异常信息:{}", JSON.toJSONString(entListResult.getMsg()));
return null; return null;
} }
} }
@ -91,6 +92,10 @@ public class ManyDataSource implements ApplicationRunner {
*/ */
@Bean @Bean
public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) { public DynamicDataSource dynamicDataSource(DruidDataSourceFactory druidDataSourceFactory) {
List<EntInfo> entInfoList = dataSourceInfoList();
if(StringUtils.isEmpty(entInfoList)){
throw new SaaSException("数据源信息列表为空或为null");
}
Map<Object, Object> dataSourceMap = dataSourceInfoList().stream() Map<Object, Object> dataSourceMap = dataSourceInfoList().stream()
.map(entInfo -> DataSourceInfo.hostAndPortBuild( .map(entInfo -> DataSourceInfo.hostAndPortBuild(
entInfo.getEntCode(), entInfo.getEntCode(),
@ -109,19 +114,4 @@ public class ManyDataSource implements ApplicationRunner {
dynamicDataSource.setDefineTargetDataSources(dataSourceMap); dynamicDataSource.setDefineTargetDataSources(dataSourceMap);
return dynamicDataSource; 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();
}
} }