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 ce887d6..275dff0 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 @@ -71,8 +71,10 @@ public class ManyDataSource implements ApplicationRunner{ Objects.requireNonNull(dataSourceInfoList()) .stream() .map(DataSourceInfo::hostAndPortBuild) - .forEach(dataSourceInfo -> { - dataSourceMap.put(dataSourceInfo.getKey(), druidDataSourceFactory.create(dataSourceInfo)); + .map(druidDataSourceFactory::create) + .filter(Objects::nonNull) + .forEach( druidDataSource -> { + dataSourceMap.put(druidDataSource.getName(), druidDataSource); }); //设置动态数据源 DynamicDataSource dynamicDataSource = new DynamicDataSource(); diff --git a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java index fda3cc3..a148247 100644 --- a/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java +++ b/cloud-common/cloud-common-saas/src/main/java/com/muyu/cloud/common/many/datasource/factory/DruidDataSourceFactory.java @@ -1,6 +1,7 @@ package com.muyu.cloud.common.many.datasource.factory; import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.pool.DruidPooledConnection; import com.muyu.cloud.common.many.datasource.domain.model.DataSourceInfo; import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Component; @@ -23,6 +24,7 @@ public class DruidDataSourceFactory { */ public DruidDataSource create(DataSourceInfo dataSourceInfo) { DruidDataSource druidDataSource = new DruidDataSource(); + druidDataSource.setName(dataSourceInfo.getKey()); druidDataSource.setUrl(dataSourceInfo.getUrl()); druidDataSource.setConnectTimeout(10000); druidDataSource.setMaxWait(60000); @@ -31,8 +33,9 @@ public class DruidDataSourceFactory { druidDataSource.setBreakAfterAcquireFailure(true); druidDataSource.setConnectionErrorRetryAttempts(0); try { - druidDataSource.getConnection(2000); + DruidPooledConnection connection = druidDataSource.getConnection(2000); log.info("{} -> 数据源连接成功", dataSourceInfo.getKey()); + connection.close(); return druidDataSource; } catch (SQLException throwables) { log.error("数据源 {} 连接失败,用户名:{},密码 {}, 原因:{}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword(), throwables); diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml index 372cc80..d30073c 100644 --- a/cloud-gateway/src/main/resources/bootstrap.yml +++ b/cloud-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 8080 + port: 8081 # nacos线上地址 nacos: