From 0a89ad61e19f65a93d4c5d503381da58af3f8867 Mon Sep 17 00:00:00 2001 From: zkzlx Date: Wed, 27 May 2020 17:13:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[enhance=20issue=20#1478=20]=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=B3=A8=E5=86=8C=E9=9D=9E=E6=B4=BB=E5=8A=A8=E8=8A=82?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/bootstrap.yaml | 1 + .../cloud/nacos/NacosDiscoveryProperties.java | 13 +++++++++++++ .../nacos/discovery/NacosServiceDiscovery.java | 1 + .../cloud/nacos/registry/NacosServiceRegistry.java | 2 +- .../additional-spring-configuration-metadata.json | 6 ++++++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml index 8f56b284..7efde94a 100644 --- a/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml +++ b/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples/spring-cloud-dubbo-provider-sample/src/main/resources/bootstrap.yaml @@ -33,6 +33,7 @@ spring: enabled: true register-enabled: true server-addr: 127.0.0.1:8848 + ephemeral: false --- diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 7f2ff903..12249df5 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -204,6 +204,11 @@ public class NacosDiscoveryProperties { */ private boolean instanceEnabled = true; + /** + * If instance is ephemeral.The default value is true. + */ + private boolean ephemeral = true; + @Autowired private InetUtils inetUtils; @@ -461,6 +466,14 @@ public class NacosDiscoveryProperties { this.instanceEnabled = instanceEnabled; } + public boolean isEphemeral() { + return ephemeral; + } + + public void setEphemeral(boolean ephemeral) { + this.ephemeral = ephemeral; + } + @Override public String toString() { return "NacosDiscoveryProperties{" + "serverAddr='" + serverAddr + '\'' diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java index ffe73aaf..61c0b818 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java @@ -92,6 +92,7 @@ public class NacosServiceDiscovery { metadata.put("nacos.weight", instance.getWeight() + ""); metadata.put("nacos.healthy", instance.isHealthy() + ""); metadata.put("nacos.cluster", instance.getClusterName() + ""); + metadata.put("nacos.ephemeral",String.valueOf(instance.isEphemeral())); metadata.putAll(instance.getMetadata()); nacosServiceInstance.setMetadata(metadata); diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java index 7dee3c35..1877ceae 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/registry/NacosServiceRegistry.java @@ -161,7 +161,7 @@ public class NacosServiceRegistry implements ServiceRegistry { instance.setClusterName(nacosDiscoveryProperties.getClusterName()); instance.setEnabled(nacosDiscoveryProperties.isInstanceEnabled()); instance.setMetadata(registration.getMetadata()); - + instance.setEphemeral(nacosDiscoveryProperties.isEphemeral()); return instance; } diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json index e0e57dd9..0987e598 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -29,6 +29,12 @@ "defaultValue": true, "description": "If instance is enabled to accept request. The default value is true." }, + { + "name": "spring.cloud.nacos.discovery.ephemeral", + "type": "java.lang.Boolean", + "defaultValue": true, + "description": "If instance is ephemeral.The default value is true." + }, { "name": "spring.cloud.nacos.discovery.namingLoadCacheAtStart", "type": "java.lang.Boolean", From 940420b0bf5da69d29cc557d5a3eec62e42dd817 Mon Sep 17 00:00:00 2001 From: zkzlx Date: Thu, 9 Jul 2020 10:49:51 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[enhance=20issue=20#1478=20]=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=B3=A8=E5=86=8C=E9=9D=9E=E6=B4=BB=E5=8A=A8=E8=8A=82?= =?UTF-8?q?=E7=82=B9-merge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java | 1 - 1 file changed, 1 deletion(-) diff --git a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java index a0373189..7818a295 100644 --- a/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java +++ b/spring-cloud-alibaba-starters/spring-cloud-starter-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/discovery/NacosServiceDiscovery.java @@ -96,7 +96,6 @@ public class NacosServiceDiscovery { metadata.putAll(instance.getMetadata()); } metadata.put("nacos.ephemeral",String.valueOf(instance.isEphemeral())); - metadata.putAll(instance.getMetadata()); nacosServiceInstance.setMetadata(metadata); if (metadata.containsKey("secure")) {