From 9b41098f3258dbfed2ad59a04fbc2a8ea359cb3f Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Tue, 8 Oct 2024 14:28:42 +0800 Subject: [PATCH] =?UTF-8?q?fix():=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E5=90=AF=E5=8A=A8=E5=9B=A0=E7=A9=BA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E5=AF=BC=E8=87=B4=E7=A8=8B=E5=BA=8F=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/cloud/common/many/datasource/ManyDataSource.java | 6 ++++-- .../many/datasource/factory/DruidDataSourceFactory.java | 5 ++++- cloud-gateway/src/main/resources/bootstrap.yml | 2 +- 3 files changed, 9 insertions(+), 4 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 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: