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

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


The following commit(s) were added to refs/heads/master by this push:
     new 455852e  support a way to ignore check some key in parameters. (#7371)
455852e is described below

commit 455852e98129ec657c92f4200fd2fb1d7f339444
Author: 赵延 <[email protected]>
AuthorDate: Thu Mar 25 22:57:09 2021 +0800

    support a way to ignore check some key in parameters. (#7371)
---
 .../src/main/java/org/apache/dubbo/config/Constants.java       |  2 ++
 .../org/apache/dubbo/config/utils/ConfigValidationUtils.java   | 10 +++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java 
b/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
index 5af0de4..659b7bb 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/Constants.java
@@ -115,4 +115,6 @@ public interface Constants {
     String ZOOKEEPER_PROTOCOL = "zookeeper";
 
     String REGISTER_KEY = "register";
+
+    String IGNORE_CHECK_KEYS = "ignoreCheckKeys";
 }
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/utils/ConfigValidationUtils.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/utils/ConfigValidationUtils.java
index 5d935fa..a6e1276 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/utils/ConfigValidationUtils.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/utils/ConfigValidationUtils.java
@@ -65,6 +65,7 @@ import org.apache.dubbo.rpc.support.MockInvoker;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -102,6 +103,7 @@ import static 
org.apache.dubbo.config.Constants.ARCHITECTURE;
 import static org.apache.dubbo.config.Constants.CONTEXTPATH_KEY;
 import static org.apache.dubbo.config.Constants.DUBBO_IP_TO_REGISTRY;
 import static org.apache.dubbo.config.Constants.ENVIRONMENT;
+import static org.apache.dubbo.config.Constants.IGNORE_CHECK_KEYS;
 import static org.apache.dubbo.config.Constants.LAYER_KEY;
 import static org.apache.dubbo.config.Constants.NAME;
 import static org.apache.dubbo.config.Constants.ORGANIZATION;
@@ -624,8 +626,14 @@ public class ConfigValidationUtils {
         if (CollectionUtils.isEmptyMap(parameters)) {
             return;
         }
+        List<String> ignoreCheckKeys = new ArrayList<>();
+        ignoreCheckKeys.add(BACKUP_KEY);
+        String ignoreCheckKeysStr = parameters.get(IGNORE_CHECK_KEYS);
+        if (!StringUtils.isBlank(ignoreCheckKeysStr)) {
+            
ignoreCheckKeys.addAll(Arrays.asList(ignoreCheckKeysStr.split(",")));
+        }
         for (Map.Entry<String, String> entry : parameters.entrySet()) {
-            if (!entry.getKey().equals(BACKUP_KEY)) {
+            if (!ignoreCheckKeys.contains(entry.getKey())) {
                 checkNameHasSymbol(entry.getKey(), entry.getValue());
             }
         }

Reply via email to