You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2021/10/31 07:13:58 UTC
[dubbo] branch 3.0 updated: Destroy ServiceInstancesChangedListener
(#9161)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.0 by this push:
new e25cf97 Destroy ServiceInstancesChangedListener (#9161)
e25cf97 is described below
commit e25cf97a3a938db760b906cd3856596e9017b9f7
Author: Gong Dewei <ky...@qq.com>
AuthorDate: Sun Oct 31 15:13:43 2021 +0800
Destroy ServiceInstancesChangedListener (#9161)
---
.../org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
index 043f583..079653c 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ServiceDiscoveryRegistry.java
@@ -260,6 +260,7 @@ public class ServiceDiscoveryRegistry extends FailbackRegistry {
instancesChangedListener.removeListener(protocolServiceKey, listener);
if (!instancesChangedListener.hasListeners()) {
serviceListeners.remove(serviceNamesKey);
+ instancesChangedListener.destroy();
}
}
}
@@ -280,6 +281,11 @@ public class ServiceDiscoveryRegistry extends FailbackRegistry {
registryManager.removeDestroyedRegistry(this);
// stop ServiceDiscovery
execute(serviceDiscovery::destroy);
+ // destroy all event listener
+ for (ServiceInstancesChangedListener listener : serviceListeners.values()) {
+ listener.destroy();
+ }
+ serviceListeners.clear();
}
@Override