From 327c228129a3dfd5b36c4ae1ee3da0de202aef25 Mon Sep 17 00:00:00 2001 From: fangjian0423 Date: Fri, 18 Oct 2019 17:19:42 +0800 Subject: [PATCH] polish #998 --- .../cloud/nacos/NacosConfigManager.java | 8 +++---- .../cloud/nacos/NacosConfigProperties.java | 2 +- .../NacosConnectionFailureAnalyzer.java | 6 +++-- .../NacosConnectionFailureException.java | 22 ++++++------------- .../cloud/nacos/NacosDiscoveryProperties.java | 3 ++- 5 files changed, 17 insertions(+), 24 deletions(-) diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java index df5469d3..a08920a4 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigManager.java @@ -18,11 +18,10 @@ package com.alibaba.cloud.nacos; import java.util.Objects; +import com.alibaba.cloud.nacos.diagnostics.analyzer.NacosConnectionFailureException; import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.config.ConfigService; import com.alibaba.nacos.api.exception.NacosException; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -31,8 +30,6 @@ import org.springframework.beans.factory.annotation.Autowired; */ public class NacosConfigManager { - private static final Logger log = LoggerFactory.getLogger(NacosConfigManager.class); - private static ConfigService service = null; @Autowired @@ -46,7 +43,8 @@ public class NacosConfigManager { properties.initConfigService(service); } catch (NacosException e) { - log.error("create config service error!properties={},e=,", properties, e); + throw new NacosConnectionFailureException(properties.getServerAddr(), + e.getMessage(), e); } } return service; diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java index a5ce70a7..387c5fa1 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java @@ -78,7 +78,7 @@ public class NacosConfigProperties { .resolvePlaceholders("${spring.cloud.nacos.config.server-addr:}"); if (StringUtils.isEmpty(serverAddr)) { serverAddr = environment - .resolvePlaceholders("${spring.cloud.nacos.server-addr}"); + .resolvePlaceholders("${spring.cloud.nacos.server-addr:}"); } this.setServerAddr(serverAddr); } diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java index 611ac534..33c1b2e4 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureAnalyzer.java @@ -31,8 +31,10 @@ public class NacosConnectionFailureAnalyzer @Override protected FailureAnalysis analyze(Throwable rootFailure, NacosConnectionFailureException cause) { - return new FailureAnalysis("Application failed to connect to Nacos server", - "check your Nacos server config", cause); + return new FailureAnalysis( + "Application failed to connect to Nacos server: \"" + + cause.getServerAddr() + "\"", + "Please check your Nacos server config", cause); } } diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java index 2935fc29..e4fdae5e 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/diagnostics/analyzer/NacosConnectionFailureException.java @@ -24,29 +24,21 @@ package com.alibaba.cloud.nacos.diagnostics.analyzer; */ public class NacosConnectionFailureException extends RuntimeException { - private final String domain; + private final String serverAddr; - private final String port; - - public NacosConnectionFailureException(String domain, String port, String message) { + public NacosConnectionFailureException(String serverAddr, String message) { super(message); - this.domain = domain; - this.port = port; + this.serverAddr = serverAddr; } - public NacosConnectionFailureException(String domain, String port, String message, + public NacosConnectionFailureException(String serverAddr, String message, Throwable cause) { super(message, cause); - this.domain = domain; - this.port = port; + this.serverAddr = serverAddr; } - String getDomain() { - return domain; - } - - String getPort() { - return port; + public String getServerAddr() { + return serverAddr; } } diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 632ee7e9..a105557d 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -430,7 +430,8 @@ public class NacosDiscoveryProperties { String serverAddr = env .resolvePlaceholders("${spring.cloud.nacos.discovery.server-addr:}"); if (StringUtils.isEmpty(serverAddr)) { - serverAddr = env.resolvePlaceholders("${spring.cloud.nacos.server-addr}"); + serverAddr = env + .resolvePlaceholders("${spring.cloud.nacos.server-addr:}"); } this.setServerAddr(serverAddr); }