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

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


The following commit(s) were added to refs/heads/3.1 by this push:
     new 64a1d13cc3 Fix try use rest protocol (#10986)
64a1d13cc3 is described below

commit 64a1d13cc369d3b564d2cba9ac1955be7c9dbd3c
Author: Albumen Kevin <[email protected]>
AuthorDate: Tue Nov 22 15:02:33 2022 +0800

    Fix try use rest protocol (#10986)
---
 .../metadata/ConfigurableMetadataServiceExporter.java       | 13 +++++++++++--
 1 file changed, 11 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 96668f5ca1..fb6dab69c0 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
@@ -43,6 +43,8 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 import static java.util.Collections.emptyList;
@@ -66,6 +68,7 @@ public class ConfigurableMetadataServiceExporter {
     private final ApplicationModel applicationModel;
     private MetadataServiceDelegation metadataService;
     private volatile ServiceConfig<MetadataService> serviceConfig;
+    private static final Set<String> UNACCEPTABLE_PROTOCOL = Stream.of("rest", 
"grpc").collect(Collectors.toSet());
 
     public ConfigurableMetadataServiceExporter(ApplicationModel 
applicationModel, MetadataServiceDelegation metadataService) {
         this.applicationModel = applicationModel;
@@ -208,6 +211,7 @@ public class ConfigurableMetadataServiceExporter {
             .flatMap(Collection::stream)
             .map(ConsumerConfig::getProtocol)
             .filter(StringUtils::isNotEmpty)
+            .filter(p -> !UNACCEPTABLE_PROTOCOL.contains(p))
             .findFirst()
             .orElse("");
         // <dubbo:provider/>
@@ -231,6 +235,7 @@ public class ConfigurableMetadataServiceExporter {
                     }
                 })
                 .filter(StringUtils::isNotEmpty)
+                .filter(p -> !UNACCEPTABLE_PROTOCOL.contains(p))
                 .findFirst()
                 .orElse("");
         }
@@ -239,7 +244,11 @@ public class ConfigurableMetadataServiceExporter {
             Collection<ProtocolConfig> protocols = 
applicationModel.getApplicationConfigManager().getProtocols();
             if (CollectionUtils.isNotEmpty(protocols)) {
                 protocol = protocols.stream()
-                    
.map(ProtocolConfig::getName).filter(StringUtils::isNotEmpty).findFirst().orElse("");
+                    .map(ProtocolConfig::getName)
+                    .filter(StringUtils::isNotEmpty)
+                    .filter(p -> !UNACCEPTABLE_PROTOCOL.contains(p))
+                    .findFirst()
+                    .orElse("");
             }
         }
         // <dubbo:application/>
@@ -252,7 +261,7 @@ public class ConfigurableMetadataServiceExporter {
                 }
             }
         }
-        return StringUtils.isNotEmpty(protocol) ? protocol : DUBBO_PROTOCOL;
+        return StringUtils.isNotEmpty(protocol) && 
!UNACCEPTABLE_PROTOCOL.contains(protocol) ? protocol : DUBBO_PROTOCOL;
     }
 
     private ServiceConfig<MetadataService> buildServiceConfig() {

Reply via email to