You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by ho...@apache.org on 2021/09/15 06:10:52 UTC

[dubbo-admin] branch develop updated: Fix circular reference (#823)

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

horizonzy pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/dubbo-admin.git


The following commit(s) were added to refs/heads/develop by this push:
     new d0687bb  Fix circular reference (#823)
d0687bb is described below

commit d0687bba3179fb1202ec7e0adb117221bbba134b
Author: haoyann <10...@qq.com>
AuthorDate: Wed Sep 15 14:10:44 2021 +0800

    Fix circular reference (#823)
---
 .../main/java/org/apache/dubbo/admin/config/ConfigCenter.java    | 9 ++++-----
 .../dubbo/admin/registry/mapping/AdminMappingListener.java       | 2 --
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
index 1f231d9..e2c3e3e 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java
@@ -22,10 +22,12 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.admin.common.exception.ConfigurationException;
 import org.apache.dubbo.admin.common.util.Constants;
 import org.apache.dubbo.admin.registry.config.GovernanceConfiguration;
+import org.apache.dubbo.admin.registry.mapping.AdminMappingListener;
 import org.apache.dubbo.admin.registry.mapping.ServiceMapping;
 import org.apache.dubbo.admin.registry.mapping.impl.NoOpServiceMapping;
 import org.apache.dubbo.admin.registry.metadata.MetaDataCollector;
 import org.apache.dubbo.admin.registry.metadata.impl.NoOpMetadataCollector;
+import org.apache.dubbo.admin.service.impl.InstanceRegistryCache;
 import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.config.Environment;
 import org.apache.dubbo.common.extension.ExtensionLoader;
@@ -39,7 +41,6 @@ import org.apache.dubbo.registry.client.ServiceDiscovery;
 import org.apache.dubbo.registry.client.ServiceDiscoveryFactory;
 import org.apache.dubbo.rpc.model.ApplicationModel;
 
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -100,9 +101,6 @@ public class ConfigCenter {
     private URL registryUrl;
     private URL metadataUrl;
 
-    @Autowired
-    private MappingListener mappingListener;
-
     /*
      * generate dynamic configuration client
      */
@@ -226,11 +224,12 @@ public class ConfigCenter {
 
     @Bean
     @DependsOn("metaDataCollector")
-    ServiceMapping getServiceMapping() {
+    ServiceMapping getServiceMapping(ServiceDiscovery serviceDiscovery, InstanceRegistryCache instanceRegistryCache) {
         ServiceMapping serviceMapping = new NoOpServiceMapping();
         if (metadataUrl == null) {
             return serviceMapping;
         }
+        MappingListener mappingListener = new AdminMappingListener(serviceDiscovery, instanceRegistryCache);
         serviceMapping = ExtensionLoader.getExtensionLoader(ServiceMapping.class).getExtension(metadataUrl.getProtocol());
         serviceMapping.addMappingListener(mappingListener);
         serviceMapping.init(metadataUrl);
diff --git a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/registry/mapping/AdminMappingListener.java b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/registry/mapping/AdminMappingListener.java
index 56db6e3..750c734 100644
--- a/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/registry/mapping/AdminMappingListener.java
+++ b/dubbo-admin-server/src/main/java/org/apache/dubbo/admin/registry/mapping/AdminMappingListener.java
@@ -31,7 +31,6 @@ import org.apache.dubbo.registry.client.event.ServiceInstancesChangedEvent;
 import org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener;
 
 import com.google.common.collect.Sets;
-import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
@@ -40,7 +39,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.stream.Collectors;
 
-@Component
 public class AdminMappingListener implements MappingListener {
 
     private static final URL CONSUMER_URL = new URL(Constants.ADMIN_PROTOCOL, NetUtils.getLocalHost(), 0, "",