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() {