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 <[email protected]>
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()?
*/