From c884f6692acff071dc0378d76448ac4b2b8d75d2 Mon Sep 17 00:00:00 2001 From: Joe Zou <yixian.zou@gmail.com> Date: Sat, 22 Feb 2020 22:29:38 +0800 Subject: [PATCH] change init router to config.Load() --- cluster/directory/base_directory.go | 2 +- config/config_loader.go | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/cluster/directory/base_directory.go b/cluster/directory/base_directory.go index ce5a09be9..c64ac3e12 100644 --- a/cluster/directory/base_directory.go +++ b/cluster/directory/base_directory.go @@ -83,7 +83,7 @@ func (dir *BaseDirectory) SetRouters(urls []*common.URL) { return } - routers := make([]router.Router, len(urls), len(urls)) + routers := make([]router.Router, 0, len(urls)) for _, url := range urls { routerKey := url.GetParam(constant.ROUTER_KEY, "") diff --git a/config/config_loader.go b/config/config_loader.go index ee8f158da..437f4d732 100644 --- a/config/config_loader.go +++ b/config/config_loader.go @@ -36,15 +36,15 @@ var ( metricConfig *MetricConfig applicationConfig *ApplicationConfig maxWait = 3 + confRouterFile string ) // loaded consumer & provider config from xxx.yml, and log config from xxx.xml // Namely: dubbo.consumer.xml & dubbo.provider.xml in java dubbo func init() { var ( - confConFile string - confProFile string - confRouterFile string + confConFile string + confProFile string ) confConFile = os.Getenv(constant.CONF_CONSUMER_FILE_PATH) @@ -60,10 +60,6 @@ func init() { log.Printf("[providerInit] %#v", errPro) providerConfig = nil } - - if errPro := RouterInit(confRouterFile); errPro != nil { - log.Printf("[routerConfig] %#v", errPro) - } } func checkRegistries(registries map[string]*RegistryConfig, singleRegistry *RegistryConfig) { @@ -82,6 +78,13 @@ func checkApplicationName(config *ApplicationConfig) { // Load Dubbo Init func Load() { + // init router + if confRouterFile != "" { + if errPro := RouterInit(confRouterFile); errPro != nil { + log.Printf("[routerConfig init] %#v", errPro) + } + } + // reference config if consumerConfig == nil { logger.Warnf("consumerConfig is nil!") -- GitLab