diff --git a/cluster/directory/base_directory.go b/cluster/directory/base_directory.go index 533fa11d67c30bc7d630f603b638a2bae614f635..fe44e3f909d82272d5b5202e9025efc028e8c01b 100644 --- a/cluster/directory/base_directory.go +++ b/cluster/directory/base_directory.go @@ -32,7 +32,7 @@ import ( gxset "github.com/dubbogo/gost/container/set" ) -var RouterUrlSet = gxset.NewSet() +var routerURLSet = gxset.NewSet() type BaseDirectory struct { url *common.URL @@ -42,6 +42,10 @@ type BaseDirectory struct { once sync.Once } +func GetRouterURLSet() *gxset.HashSet { + return routerURLSet +} + func NewBaseDirectory(url *common.URL) BaseDirectory { return BaseDirectory{ url: url, @@ -74,9 +78,10 @@ func (dir *BaseDirectory) SetRouters(routers []cluster.Router) { dir.routers = routers } + func (dir *BaseDirectory) Routers() []cluster.Router { dir.once.Do(func() { - rs := RouterUrlSet.Values() + rs := routerURLSet.Values() for _, r := range rs { factory := extension.GetRouterFactory(r.(*common.URL).GetParam("router", "condition")) router, err := factory.Router(r.(*common.URL)) diff --git a/cluster/directory/static_directory.go b/cluster/directory/static_directory.go index 92bf075c04f262872efcd7c0b39be2cef3733d79..381b4a933b7498bf434d9abb74cf0883e2d0f18d 100644 --- a/cluster/directory/static_directory.go +++ b/cluster/directory/static_directory.go @@ -23,7 +23,6 @@ import ( import ( "github.com/apache/dubbo-go/common" "github.com/apache/dubbo-go/common/constant" - "github.com/apache/dubbo-go/common/logger" "github.com/apache/dubbo-go/protocol" ) @@ -60,7 +59,6 @@ func (dir *staticDirectory) IsAvailable() bool { func (dir *staticDirectory) List(invocation protocol.Invocation) []protocol.Invoker { invokers := dir.invokers localRouters := dir.routers - logger.Debug("========", len(localRouters)) if len(localRouters) == 0 { return invokers diff --git a/cluster/router/url_utils_test.go b/cluster/router/url_utils_test.go index 8c88a7af583f4bdfea0e0b4c298b0cc395f68c6d..39925889ac8d7e19c43010bac076b5ada02e3301 100644 --- a/cluster/router/url_utils_test.go +++ b/cluster/router/url_utils_test.go @@ -21,6 +21,7 @@ import ( "context" "testing" ) + import ( "github.com/stretchr/testify/assert" ) diff --git a/common/url.go b/common/url.go index 9ecb14013d8460f778cdfb7552e6b058220c5d6c..6f171c7fe82e9aded5649a88193cdcb846b95596 100644 --- a/common/url.go +++ b/common/url.go @@ -290,10 +290,11 @@ func (c URL) Key() string { //return c.ServiceKey() } -//todo func (c *URL) GetBackupUrls() []*URL { - var urls []*URL - var host string + var ( + urls []*URL + host string + ) urls = append(urls, c) backups := strings.Split(c.GetParam(constant.BACKUP_KEY, ""), "") for _, address := range backups { @@ -305,7 +306,6 @@ func (c *URL) GetBackupUrls() []*URL { } else { host = address } - //todo newURL := NewURLWithOptions( WithProtocol(c.Protocol), WithPath(c.Path), diff --git a/config/condition_router_config.go b/config/condition_router_config.go index ff5646d3ec445c0fd69b520a6751c425b9603b15..2fb02c951be788e4d5a8801e0bb76eba856c9892 100644 --- a/config/condition_router_config.go +++ b/config/condition_router_config.go @@ -24,6 +24,7 @@ import ( "strings" "sync" ) + import ( "github.com/apache/dubbo-go/cluster/directory" "github.com/apache/dubbo-go/common" @@ -57,8 +58,7 @@ func RouterInit(confRouterFile string) error { } logger.Debugf("router config{%#v}\n", routerConfig) - directory.RouterUrlSet.Add(initRouterUrl()) - logger.Debug("=====", directory.RouterUrlSet.Size()) + directory.GetRouterURLSet().Add(initRouterUrl()) return nil } @@ -86,7 +86,10 @@ func initRouterUrl() *common.URL { } func parseCondition(conditions []string) string { - var when, then string + var ( + when string + then string + ) for _, condition := range conditions { condition = strings.Trim(condition, " ") if strings.Contains(condition, "=>") { diff --git a/registry/directory/directory.go b/registry/directory/directory.go index e2ec3e1b47ade503fd285bfa2f97db9e30c45a87..349c0d440c7f3a5ba9aa7586afad9a119ee95cff 100644 --- a/registry/directory/directory.go +++ b/registry/directory/directory.go @@ -164,7 +164,7 @@ func (dir *registryDirectory) refreshInvokers(res *registry.ServiceEvent) { } func toRouters(urls []*common.URL) []cluster.Router { - if urls == nil || len(urls) == 0 { + if len(urls) == 0 { return nil } @@ -273,7 +273,6 @@ func (dir *registryDirectory) List(invocation protocol.Invocation) []protocol.In invokers := dir.cacheInvokers localRouters := dir.Routers() - logger.Debug("========", len(localRouters)) if len(localRouters) > 0 { for _, router := range localRouters { if reflect.ValueOf(router.Url()).IsValid() || router.Url().GetParamBool(constant.RUNTIME_KEY, false) {