You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by la...@apache.org on 2021/09/04 11:54:22 UTC

[dubbo-go] branch config-enhance updated: fix: add get dynamic configuration api (#1439)

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

laurence pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/config-enhance by this push:
     new cb29fbc  fix: add get dynamic configuration api (#1439)
cb29fbc is described below

commit cb29fbcb6a2e853bc4f9b138b8cdee290a6b2541
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Sat Sep 4 19:54:17 2021 +0800

    fix: add get dynamic configuration api (#1439)
---
 config/config_center_config.go         | 12 ++++++++++++
 config_center/dynamic_configuration.go |  2 ++
 2 files changed, 14 insertions(+)

diff --git a/config/config_center_config.go b/config/config_center_config.go
index 84a10dc..479bf71 100644
--- a/config/config_center_config.go
+++ b/config/config_center_config.go
@@ -176,6 +176,18 @@ func startConfigCenter(rc *RootConfig) error {
 	return nil
 }
 
+func (c *CenterConfig) GetDynamicConfiguration() (config_center.DynamicConfiguration, error) {
+	configCenterUrl, err := c.toURL()
+	if err != nil {
+		return nil, err
+	}
+	factory := extension.GetConfigCenterFactory(configCenterUrl.Protocol)
+	if factory == nil {
+		return nil, errors.New("get config center factory failed")
+	}
+	return factory.GetDynamicConfiguration(configCenterUrl)
+}
+
 func (c *CenterConfig) prepareEnvironment(configCenterUrl *common.URL) (string, error) {
 	factory := extension.GetConfigCenterFactory(configCenterUrl.Protocol)
 	if factory == nil {
diff --git a/config_center/dynamic_configuration.go b/config_center/dynamic_configuration.go
index 069594d..447342e 100644
--- a/config_center/dynamic_configuration.go
+++ b/config_center/dynamic_configuration.go
@@ -56,6 +56,8 @@ type DynamicConfiguration interface {
 	GetInternalProperty(string, ...Option) (string, error)
 
 	// PublishConfig will publish the config with the (key, group, value) pair
+	// for zk: path is /$(group)/config/$(key) -> value
+	// for nacos: group, key -> value
 	PublishConfig(string, string, string) error
 
 	// RemoveConfig will remove the config white the (key, group) pair