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

zrlw pushed a commit to branch 3.3
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.3 by this push:
     new c831fefc78 Add serviceConfigV2 null check at metadata service export 
(#15603)
c831fefc78 is described below

commit c831fefc786f32291a084a91cdd2b8232ce32075
Author: zrlw <[email protected]>
AuthorDate: Thu Aug 14 19:48:50 2025 +0800

    Add serviceConfigV2 null check at metadata service export (#15603)
    
    * Remove redundant condition checking from 
ConfigurableMetadataServiceExporter method
    
    ---------
    
    Co-authored-by: xiaosheng <[email protected]>
---
 .../ConfigurableMetadataServiceExporter.java        | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/metadata/ConfigurableMetadataServiceExporter.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/metadata/ConfigurableMetadataServiceExporter.java
index eecbb44999..caa5b3f55d 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/metadata/ConfigurableMetadataServiceExporter.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/metadata/ConfigurableMetadataServiceExporter.java
@@ -16,6 +16,7 @@
  */
 package org.apache.dubbo.config.metadata;
 
+import org.apache.dubbo.common.URL;
 import org.apache.dubbo.common.logger.ErrorTypeAwareLogger;
 import org.apache.dubbo.common.logger.LoggerFactory;
 import org.apache.dubbo.common.threadpool.manager.FrameworkExecutorRepository;
@@ -31,6 +32,7 @@ import 
org.apache.dubbo.registry.client.metadata.MetadataServiceDelegation;
 import org.apache.dubbo.registry.client.metadata.MetadataServiceDelegationV2;
 import org.apache.dubbo.rpc.model.ApplicationModel;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.ExecutorService;
@@ -71,7 +73,7 @@ public class ConfigurableMetadataServiceExporter {
     }
 
     public synchronized ConfigurableMetadataServiceExporter export() {
-        if (serviceConfig == null || !isExported()) {
+        if (!isExported()) {
             if (MetadataServiceVersionUtils.needExportV1(applicationModel)) {
                 exportV1();
             }
@@ -84,13 +86,28 @@ public class ConfigurableMetadataServiceExporter {
                         CONFIG_METADATA_SERVICE_EXPORTED,
                         "",
                         "",
-                        "The MetadataService has been exported : " + 
serviceConfig.getExportedUrls());
+                        "The MetadataService has been exported : " + 
getExportedUrls());
             }
         }
 
         return this;
     }
 
+    /**
+     * Get exported urls which include v1 and v2 if existed
+     * @return exported urls
+     */
+    public List<URL> getExportedUrls() {
+        List<URL> urls = new ArrayList<>();
+        if (serviceConfig != null) {
+            urls.addAll(serviceConfig.getExportedUrls());
+        }
+        if (serviceConfigV2 != null) {
+            urls.addAll(serviceConfigV2.getExportedUrls());
+        }
+        return urls;
+    }
+
     private static final String INTERNAL_METADATA_REGISTRY_ID = 
"internal-metadata-registry";
 
     private void exportV1() {

Reply via email to