This is an automated email from the ASF dual-hosted git repository.

albumenj 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 10b3be9  optimize Multiple some code (#8900)
10b3be9 is described below

commit 10b3be9b8ac1828b671a198cb88d586d174b29d0
Author: Wang Chengming <[email protected]>
AuthorDate: Mon Sep 27 19:20:50 2021 +0800

    optimize Multiple some code (#8900)
---
 .../dubbo/registry/multiple/MultipleRegistry.java  | 33 +++++++++++-----------
 .../multiple/MultipleServiceDiscovery.java         | 21 ++++++++------
 2 files changed, 29 insertions(+), 25 deletions(-)

diff --git 
a/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleRegistry.java
 
b/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleRegistry.java
index 4ee590e..a4ed56b 100644
--- 
a/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleRegistry.java
+++ 
b/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleRegistry.java
@@ -42,17 +42,16 @@ public class MultipleRegistry extends AbstractRegistry {
 
     public static final String REGISTRY_FOR_SERVICE = "service-registry";
     public static final String REGISTRY_FOR_REFERENCE = "reference-registry";
-
-    protected RegistryFactory registryFactory;
     private final Map<String, Registry> serviceRegistries = new 
ConcurrentHashMap<>(4);
-    private final Map<String, Registry> referenceRegistries = new 
ConcurrentHashMap<String, Registry>(4);
-    private final Map<NotifyListener, MultipleNotifyListenerWrapper> 
multipleNotifyListenerMap = new ConcurrentHashMap<NotifyListener, 
MultipleNotifyListenerWrapper>(32);
+    private final Map<String, Registry> referenceRegistries = new 
ConcurrentHashMap<>(4);
+    private final Map<NotifyListener, MultipleNotifyListenerWrapper> 
multipleNotifyListenerMap = new ConcurrentHashMap<>(32);
+    private final URL registryUrl;
+    private final String applicationName;
+    protected RegistryFactory registryFactory;
     protected List<String> origServiceRegistryURLs;
     protected List<String> origReferenceRegistryURLs;
     protected List<String> effectServiceRegistryURLs;
     protected List<String> effectReferenceRegistryURLs;
-    private URL registryUrl;
-    private String applicationName;
 
     public MultipleRegistry(URL url) {
         this(url, true, true);
@@ -61,7 +60,7 @@ public class MultipleRegistry extends AbstractRegistry {
         boolean defaultRegistry = 
url.getParameter(CommonConstants.DEFAULT_KEY, true);
         if (defaultRegistry && effectServiceRegistryURLs.isEmpty() && 
effectReferenceRegistryURLs.isEmpty()) {
             throw new IllegalArgumentException("Illegal registry url. You need 
to configure parameter " +
-                    REGISTRY_FOR_SERVICE + " or " + REGISTRY_FOR_REFERENCE);
+                REGISTRY_FOR_SERVICE + " or " + REGISTRY_FOR_REFERENCE);
         }
     }
 
@@ -73,7 +72,7 @@ public class MultipleRegistry extends AbstractRegistry {
 
         init();
         checkApplicationName(this.applicationName);
-        // This urls contain parameter and it donot inherit from the parameter 
of url in MultipleRegistry
+        // This urls contain parameter, and it does not inherit from the 
parameter of url in MultipleRegistry
 
         Map<String, Registry> registryMap = new HashMap<>();
         if (initServiceRegistry) {
@@ -85,7 +84,7 @@ public class MultipleRegistry extends AbstractRegistry {
     }
 
     protected void initServiceRegistry(URL url, Map<String, Registry> 
registryMap) {
-        origServiceRegistryURLs = url.getParameter(REGISTRY_FOR_SERVICE, new 
ArrayList<String>());
+        origServiceRegistryURLs = url.getParameter(REGISTRY_FOR_SERVICE, new 
ArrayList<>());
         effectServiceRegistryURLs = 
this.filterServiceRegistry(origServiceRegistryURLs);
         for (String tmpUrl : effectServiceRegistryURLs) {
             if (registryMap.get(tmpUrl) != null) {
@@ -99,7 +98,7 @@ public class MultipleRegistry extends AbstractRegistry {
     }
 
     protected void initReferenceRegistry(URL url, Map<String, Registry> 
registryMap) {
-        origReferenceRegistryURLs = url.getParameter(REGISTRY_FOR_REFERENCE, 
new ArrayList<String>());
+        origReferenceRegistryURLs = url.getParameter(REGISTRY_FOR_REFERENCE, 
new ArrayList<>());
         effectReferenceRegistryURLs = 
this.filterReferenceRegistry(origReferenceRegistryURLs);
         for (String tmpUrl : effectReferenceRegistryURLs) {
             if (registryMap.get(tmpUrl) != null) {
@@ -120,7 +119,7 @@ public class MultipleRegistry extends AbstractRegistry {
 
     @Override
     public boolean isAvailable() {
-        boolean available = serviceRegistries.isEmpty() ? true : false;
+        boolean available = serviceRegistries.isEmpty();
         for (Registry serviceRegistry : serviceRegistries.values()) {
             if (serviceRegistry.isAvailable()) {
                 available = true;
@@ -130,7 +129,7 @@ public class MultipleRegistry extends AbstractRegistry {
             return false;
         }
 
-        available = referenceRegistries.isEmpty() ? true : false;
+        available = referenceRegistries.isEmpty();
         for (Registry referenceRegistry : referenceRegistries.values()) {
             if (referenceRegistry.isAvailable()) {
                 available = true;
@@ -144,7 +143,7 @@ public class MultipleRegistry extends AbstractRegistry {
 
     @Override
     public void destroy() {
-        Set<Registry> registries = new 
HashSet<Registry>(serviceRegistries.values());
+        Set<Registry> registries = new HashSet<>(serviceRegistries.values());
         registries.addAll(referenceRegistries.values());
         for (Registry registry : registries) {
             registry.destroy();
@@ -195,7 +194,7 @@ public class MultipleRegistry extends AbstractRegistry {
 
     @Override
     public List<URL> lookup(URL url) {
-        List<URL> urls = new ArrayList<URL>();
+        List<URL> urls = new ArrayList<>();
         for (Registry registry : referenceRegistries.values()) {
             List<URL> tmpUrls = registry.lookup(url);
             if (!CollectionUtils.isEmpty(tmpUrls)) {
@@ -272,7 +271,7 @@ public class MultipleRegistry extends AbstractRegistry {
         }
 
         public synchronized void notifySourceListener() {
-            List<URL> notifyURLs = new ArrayList<URL>();
+            List<URL> notifyURLs = new ArrayList<>();
             URL emptyURL = null;
             for (SingleNotifyListener singleNotifyListener : 
registryMap.values()) {
                 List<URL> tmpUrls = singleNotifyListener.getUrlList();
@@ -281,8 +280,8 @@ public class MultipleRegistry extends AbstractRegistry {
                 }
                 // empty protocol
                 if (tmpUrls.size() == 1
-                        && tmpUrls.get(0) != null
-                        && 
EMPTY_PROTOCOL.equals(tmpUrls.get(0).getProtocol())) {
+                    && tmpUrls.get(0) != null
+                    && EMPTY_PROTOCOL.equals(tmpUrls.get(0).getProtocol())) {
                     // if only one empty
                     if (emptyURL == null) {
                         emptyURL = tmpUrls.get(0);
diff --git 
a/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleServiceDiscovery.java
 
b/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleServiceDiscovery.java
index 8ca95f6..cd09bed 100644
--- 
a/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleServiceDiscovery.java
+++ 
b/dubbo-registry/dubbo-registry-multiple/src/main/java/org/apache/dubbo/registry/multiple/MultipleServiceDiscovery.java
@@ -36,6 +36,8 @@ import java.util.function.Function;
 
 public class MultipleServiceDiscovery implements ServiceDiscovery {
     public static final String REGISTRY_PREFIX_KEY = "child.";
+    private static final String REGISTRY_TYPE = "registry-type";
+    private static final String SERVICE = "service";
     private final Map<String, ServiceDiscovery> serviceDiscoveries = new 
ConcurrentHashMap<>();
     private URL registryURL;
     private ServiceInstance serviceInstance;
@@ -51,7 +53,7 @@ public class MultipleServiceDiscovery implements 
ServiceDiscovery {
         for (String key : parameters.keySet()) {
             if (key.startsWith(REGISTRY_PREFIX_KEY)) {
                 URL url = 
URL.valueOf(registryURL.getParameter(key)).addParameter(CommonConstants.APPLICATION_KEY,
 applicationName)
-                        .addParameter("registry-type", "service");
+                    .addParameter(REGISTRY_TYPE, SERVICE);
                 ServiceDiscovery serviceDiscovery = 
ServiceDiscoveryFactory.getExtension(url).getServiceDiscovery(url);
                 serviceDiscovery.initialize(url);
                 serviceDiscoveries.put(key, serviceDiscovery);
@@ -94,14 +96,14 @@ public class MultipleServiceDiscovery implements 
ServiceDiscovery {
     }
 
     @Override
-    public void 
addServiceInstancesChangedListener(ServiceInstancesChangedListener listener) 
throws NullPointerException, IllegalArgumentException {
+    public void 
addServiceInstancesChangedListener(ServiceInstancesChangedListener listener)
+        throws NullPointerException, IllegalArgumentException {
         MultiServiceInstancesChangedListener multiListener = 
(MultiServiceInstancesChangedListener) listener;
 
         for (String registryKey : serviceDiscoveries.keySet()) {
             ServiceDiscovery serviceDiscovery = 
serviceDiscoveries.get(registryKey);
-            SingleServiceInstancesChangedListener singleListener = 
multiListener.getAndComputeIfAbsent(registryKey, k -> {
-                return new 
SingleServiceInstancesChangedListener(listener.getServiceNames(), 
serviceDiscovery, multiListener);
-            });
+            SingleServiceInstancesChangedListener singleListener = 
multiListener.getAndComputeIfAbsent(registryKey, k ->
+                new 
SingleServiceInstancesChangedListener(listener.getServiceNames(), 
serviceDiscovery, multiListener));
             
serviceDiscovery.addServiceInstancesChangedListener(singleListener);
         }
     }
@@ -112,7 +114,8 @@ public class MultipleServiceDiscovery implements 
ServiceDiscovery {
     }
 
     @Override
-    public Page<ServiceInstance> getInstances(String serviceName, int offset, 
int pageSize, boolean healthyOnly) throws NullPointerException, 
IllegalArgumentException, UnsupportedOperationException {
+    public Page<ServiceInstance> getInstances(String serviceName, int offset, 
int pageSize, boolean healthyOnly)
+        throws NullPointerException, IllegalArgumentException, 
UnsupportedOperationException {
 
         List<ServiceInstance> serviceInstanceList = new ArrayList<>();
         for (ServiceDiscovery serviceDiscovery : serviceDiscoveries.values()) {
@@ -165,7 +168,8 @@ public class MultipleServiceDiscovery implements 
ServiceDiscovery {
             singleListenerMap.put(registryKey, singleListener);
         }
 
-        public SingleServiceInstancesChangedListener 
getAndComputeIfAbsent(String registryKey, Function<String, 
SingleServiceInstancesChangedListener> func) {
+        public SingleServiceInstancesChangedListener 
getAndComputeIfAbsent(String registryKey,
+                                                                           
Function<String, SingleServiceInstancesChangedListener> func) {
             return singleListenerMap.computeIfAbsent(registryKey, func);
         }
     }
@@ -174,7 +178,8 @@ public class MultipleServiceDiscovery implements 
ServiceDiscovery {
         private final MultiServiceInstancesChangedListener multiListener;
         volatile ServiceInstancesChangedEvent event;
 
-        public SingleServiceInstancesChangedListener(Set<String> serviceNames, 
ServiceDiscovery serviceDiscovery, MultiServiceInstancesChangedListener 
multiListener) {
+        public SingleServiceInstancesChangedListener(Set<String> serviceNames, 
ServiceDiscovery serviceDiscovery,
+                                                     
MultiServiceInstancesChangedListener multiListener) {
             super(serviceNames, serviceDiscovery);
             this.multiListener = multiListener;
         }

Reply via email to