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()