diff --git a/dubbo-configcenter/dubbo-configcenter-apollo/pom.xml b/dubbo-configcenter/dubbo-configcenter-apollo/pom.xml index 8d3dc0e27c..3756a95f51 100644 --- a/dubbo-configcenter/dubbo-configcenter-apollo/pom.xml +++ b/dubbo-configcenter/dubbo-configcenter-apollo/pom.xml @@ -20,7 +20,7 @@ org.apache.dubbo dubbo-configcenter - 2.7.7-SNAPSHOT + ${revision} dubbo-configcenter-apollo diff --git a/dubbo-configcenter/dubbo-configcenter-nacos/pom.xml b/dubbo-configcenter/dubbo-configcenter-nacos/pom.xml index 42dcc69848..65364b8bed 100644 --- a/dubbo-configcenter/dubbo-configcenter-nacos/pom.xml +++ b/dubbo-configcenter/dubbo-configcenter-nacos/pom.xml @@ -22,7 +22,7 @@ org.apache.dubbo dubbo-configcenter - 2.7.7-SNAPSHOT + ${revision} 4.0.0 diff --git a/dubbo-filter/dubbo-filter-cache/pom.xml b/dubbo-filter/dubbo-filter-cache/pom.xml index 49f99cff87..8241d23f45 100644 --- a/dubbo-filter/dubbo-filter-cache/pom.xml +++ b/dubbo-filter/dubbo-filter-cache/pom.xml @@ -19,7 +19,7 @@ org.apache.dubbo dubbo-filter - 2.7.7-SNAPSHOT + ${revision} dubbo-filter-cache jar diff --git a/dubbo-filter/dubbo-filter-validation/pom.xml b/dubbo-filter/dubbo-filter-validation/pom.xml index 933f1c97be..51d70aead1 100644 --- a/dubbo-filter/dubbo-filter-validation/pom.xml +++ b/dubbo-filter/dubbo-filter-validation/pom.xml @@ -19,7 +19,7 @@ org.apache.dubbo dubbo-filter - 2.7.7-SNAPSHOT + ${revision} dubbo-filter-validation jar diff --git a/dubbo-metadata/dubbo-metadata-report-redis/pom.xml b/dubbo-metadata/dubbo-metadata-report-redis/pom.xml index 70bd32d363..a743401840 100644 --- a/dubbo-metadata/dubbo-metadata-report-redis/pom.xml +++ b/dubbo-metadata/dubbo-metadata-report-redis/pom.xml @@ -18,7 +18,7 @@ org.apache.dubbo dubbo-metadata - 2.7.7-SNAPSHOT + ${revision} 4.0.0 diff --git a/dubbo-registry/dubbo-registry-nacos/pom.xml b/dubbo-registry/dubbo-registry-nacos/pom.xml index f381bba33c..ab914dbe58 100644 --- a/dubbo-registry/dubbo-registry-nacos/pom.xml +++ b/dubbo-registry/dubbo-registry-nacos/pom.xml @@ -18,7 +18,7 @@ org.apache.dubbo dubbo-registry - 2.7.7-SNAPSHOT + ${revision} 4.0.0 diff --git a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java index 91de49da01..c7562ad8f3 100644 --- a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java +++ b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosServiceDiscovery.java @@ -25,6 +25,7 @@ import org.apache.dubbo.registry.client.ServiceInstance; import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener; import org.apache.dubbo.registry.nacos.util.NacosNamingServiceUtils; +import com.alibaba.nacos.api.exception.NacosException; import com.alibaba.nacos.api.naming.NamingService; import com.alibaba.nacos.api.naming.listener.NamingEvent; import com.alibaba.nacos.api.naming.pojo.Instance; @@ -56,6 +57,8 @@ public class NacosServiceDiscovery implements ServiceDiscovery { private URL registryURL; + private ServiceInstance instance; + @Override public void initialize(URL registryURL) throws Exception { this.namingService = createNamingService(registryURL); @@ -70,6 +73,7 @@ public class NacosServiceDiscovery implements ServiceDiscovery { @Override public void register(ServiceInstance serviceInstance) throws RuntimeException { + this.instance = serviceInstance; execute(namingService, service -> { Instance instance = toInstance(serviceInstance); service.registerInstance(instance.getServiceName(), group, instance); @@ -78,6 +82,7 @@ public class NacosServiceDiscovery implements ServiceDiscovery { @Override public void update(ServiceInstance serviceInstance) throws RuntimeException { + this.instance = serviceInstance; // TODO: Nacos should support unregister(serviceInstance); register(serviceInstance); @@ -112,10 +117,16 @@ public class NacosServiceDiscovery implements ServiceDiscovery { public void addServiceInstancesChangedListener(ServiceInstancesChangedListener listener) throws NullPointerException, IllegalArgumentException { execute(namingService, service -> { - service.subscribe(listener.getServiceNames(), e -> { // Register Nacos EventListener - if (e instanceof NamingEvent) { - NamingEvent event = (NamingEvent) e; - handleEvent(event, listener); + listener.getServiceNames().forEach(serviceName -> { + try { + service.subscribe(serviceName, e -> { // Register Nacos EventListener + if (e instanceof NamingEvent) { + NamingEvent event = (NamingEvent) e; + handleEvent(event, listener); + } + }); + } catch (NacosException e) { + e.printStackTrace(); } }); }); @@ -126,6 +137,11 @@ public class NacosServiceDiscovery implements ServiceDiscovery { return registryURL; } + @Override + public ServiceInstance getLocalInstance() { + return instance; + } + private void handleEvent(NamingEvent event, ServiceInstancesChangedListener listener) { String serviceName = event.getServiceName(); List serviceInstances = event.getInstances()