You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by je...@apache.org on 2019/02/27 07:11:06 UTC
[incubator-dubbo] branch 3.x-dev updated: allow addressListner to
return new addressList for filtering (#3572)
This is an automated email from the ASF dual-hosted git repository.
jefflv pushed a commit to branch 3.x-dev
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/3.x-dev by this push:
new 52c549e allow addressListner to return new addressList for filtering (#3572)
52c549e is described below
commit 52c549e70f3685e860495f67c998456532be41ea
Author: jefflv <lr...@gmail.com>
AuthorDate: Wed Feb 27 15:11:02 2019 +0800
allow addressListner to return new addressList for filtering (#3572)
---
.../src/main/java/org/apache/dubbo/registry/AddressListener.java | 2 +-
.../org/apache/dubbo/registry/integration/RegistryDirectory.java | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/AddressListener.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/AddressListener.java
index c0176d5..971cdc7 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/AddressListener.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/AddressListener.java
@@ -29,6 +29,6 @@ public interface AddressListener {
*
* @param addresses
*/
- void notify(List<URL> addresses);
+ List<URL> notify(List<URL> addresses);
}
\ No newline at end of file
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
index d9e9765..8163191 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
@@ -188,11 +188,12 @@ public class RegistryDirectory<T> extends AbstractDirectory<T> implements Notify
*/
ExtensionLoader<AddressListener> addressListenerExtensionLoader = ExtensionLoader.getExtensionLoader(AddressListener.class);
Set<String> surpportedListeners = addressListenerExtensionLoader.getSupportedExtensions();
- for (String addressListenerName : surpportedListeners) {
- addressListenerExtensionLoader.getExtension(addressListenerName).notify(categoryUrls);
+ if (surpportedListeners != null && !surpportedListeners.isEmpty()) {
+ for (String addressListenerName : surpportedListeners) {
+ categoryUrls = addressListenerExtensionLoader.getExtension(addressListenerName).notify(categoryUrls);
+ }
}
-
/**
* TODO Try to refactor the processing of these three type of urls using Collectors.groupBy()?
*/