Skip to content

Commit 52c549e

Browse files
authored
allow addressListner to return new addressList for filtering (#3572)
1 parent e76a377 commit 52c549e

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/AddressListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ public interface AddressListener {
2929
*
3030
* @param addresses
3131
*/
32-
void notify(List<URL> addresses);
32+
List<URL> notify(List<URL> addresses);
3333

3434
}

dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,11 +188,12 @@ public synchronized void notify(List<URL> urls) {
188188
*/
189189
ExtensionLoader<AddressListener> addressListenerExtensionLoader = ExtensionLoader.getExtensionLoader(AddressListener.class);
190190
Set<String> surpportedListeners = addressListenerExtensionLoader.getSupportedExtensions();
191-
for (String addressListenerName : surpportedListeners) {
192-
addressListenerExtensionLoader.getExtension(addressListenerName).notify(categoryUrls);
191+
if (surpportedListeners != null && !surpportedListeners.isEmpty()) {
192+
for (String addressListenerName : surpportedListeners) {
193+
categoryUrls = addressListenerExtensionLoader.getExtension(addressListenerName).notify(categoryUrls);
194+
}
193195
}
194196

195-
196197
/**
197198
* TODO Try to refactor the processing of these three type of urls using Collectors.groupBy()?
198199
*/

0 commit comments

Comments
 (0)