From 0f44491f954b83ff5656cf389392eb48ff119984 Mon Sep 17 00:00:00 2001 From: "huhongjie2014@outlook.com" Date: Wed, 12 Jul 2023 22:55:40 +0800 Subject: [PATCH] [ISSUE #3379]Unable to use Nacos configuration information correctly when configuring the nacos endpoint #3379 --- .../factorybean/NacosDataSourceFactoryBean.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java index d4357861a5..542f0a1514 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java +++ b/spring-cloud-alibaba-starters/spring-cloud-alibaba-sentinel-datasource/src/main/java/com/alibaba/cloud/sentinel/datasource/factorybean/NacosDataSourceFactoryBean.java @@ -58,11 +58,18 @@ public class NacosDataSourceFactoryBean implements FactoryBean @Override public NacosDataSource getObject() throws Exception { Properties properties = new Properties(); - if (!StringUtils.isEmpty(this.serverAddr)) { - properties.setProperty(PropertyKeyConst.SERVER_ADDR, this.serverAddr); + if (!StringUtils.isEmpty(this.endpoint)) { + int index = this.endpoint.indexOf(":"); + if (index < 0) { + properties.setProperty(PropertyKeyConst.ENDPOINT, this.endpoint); + } + else { + properties.setProperty(PropertyKeyConst.ENDPOINT, this.endpoint.substring(0, index)); + properties.setProperty(PropertyKeyConst.ENDPOINT_PORT, this.endpoint.substring(index + 1)); + } } else { - properties.setProperty(PropertyKeyConst.ENDPOINT, this.endpoint); + properties.setProperty(PropertyKeyConst.SERVER_ADDR, this.serverAddr); } if (!StringUtils.isEmpty(this.contextPath)) {