diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java index 4b88702018e..45677bf2bdd 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java +++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java @@ -95,7 +95,7 @@ public void setAddress(String address) { this.address = address; } - @Parameter(key = Constants.CONFIG_CLUSTER_KEY) + @Parameter(key = Constants.CONFIG_CLUSTER_KEY, useKeyAsProperty = false) public String getCluster() { return cluster; } @@ -104,7 +104,7 @@ public void setCluster(String cluster) { this.cluster = cluster; } - @Parameter(key = Constants.CONFIG_NAMESPACE_KEY) + @Parameter(key = Constants.CONFIG_NAMESPACE_KEY, useKeyAsProperty = false) public String getNamespace() { return namespace; } @@ -113,7 +113,7 @@ public void setNamespace(String namespace) { this.namespace = namespace; } - @Parameter(key = Constants.CONFIG_GROUP_KEY) + @Parameter(key = Constants.CONFIG_GROUP_KEY, useKeyAsProperty = false) public String getGroup() { return group; } @@ -122,7 +122,7 @@ public void setGroup(String group) { this.group = group; } - @Parameter(key = Constants.CONFIG_CHECK_KEY) + @Parameter(key = Constants.CONFIG_CHECK_KEY, useKeyAsProperty = false) public Boolean isCheck() { return check; } @@ -131,7 +131,7 @@ public void setCheck(Boolean check) { this.check = check; } - @Parameter(key = Constants.CONFIG_ENABLE_KEY) + @Parameter(key = Constants.CONFIG_ENABLE_KEY, useKeyAsProperty = false) public Boolean isHighestPriority() { return highestPriority; } @@ -156,7 +156,7 @@ public void setPassword(String password) { this.password = password; } - @Parameter(key = Constants.CONFIG_TIMEOUT_KEY) + @Parameter(key = Constants.CONFIG_TIMEOUT_KEY, useKeyAsProperty = false) public Long getTimeout() { return timeout; } @@ -165,7 +165,7 @@ public void setTimeout(Long timeout) { this.timeout = timeout; } - @Parameter(key = Constants.CONFIG_CONFIGFILE_KEY) + @Parameter(key = Constants.CONFIG_CONFIGFILE_KEY, useKeyAsProperty = false) public String getConfigFile() { return configFile; } @@ -183,7 +183,7 @@ public void setAppConfigFile(String appConfigFile) { this.appConfigFile = appConfigFile; } - @Parameter(key = Constants.CONFIG_APPNAME_KEY) + @Parameter(key = Constants.CONFIG_APPNAME_KEY, useKeyAsProperty = false) public String getAppName() { return appName; } diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/support/Parameter.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/support/Parameter.java index 029a4918f84..c6ece126bae 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/support/Parameter.java +++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/support/Parameter.java @@ -42,6 +42,21 @@ boolean append() default false; + /** + * if {@link #key()} is specified, it will be used as the key for the annotated property when generating url. + * by default, this key will also be used to retrieve the config value: + *
+     * {@code
+     *  class ExampleConfig {
+     *      // Dubbo will try to get "dubbo.example.alias_for_item=xxx" from .properties, if you want to use the original property
+     *      // "dubbo.example.item=xxx", you need to set useKeyAsProperty=false.
+     *      @Parameter(key = "alias_for_item")
+     *      public getItem();
+     *  }
+     * }
+     *
+     * 
+ */ boolean useKeyAsProperty() default true; } \ No newline at end of file