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 <[email protected]>
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