diff --git a/registry/kubernetes/listener.go b/registry/kubernetes/listener.go index 528ec6486e481afe11ed5837b3138b7ec1508c06..d9164e714311d098f7312485caad87105a357d8d 100644 --- a/registry/kubernetes/listener.go +++ b/registry/kubernetes/listener.go @@ -64,19 +64,21 @@ func (l *dataListener) DataChange(eventType remoting.Event) bool { return false } - if _, ok := l.interestedURL[serviceURL.String()]; !ok { - return false + for _, v := range l.interestedURL { + + if serviceURL.URLEqual(*v) { + + l.listener.Process( + &config_center.ConfigChangeEvent{ + Key: eventType.Path, + Value: serviceURL, + ConfigType: eventType.Action, + }, + ) + return true + } } - - l.listener.Process( - &config_center.ConfigChangeEvent{ - Key: eventType.Path, - Value: serviceURL, - ConfigType: eventType.Action, - }, - ) - return true - + return false } type configurationListener struct { diff --git a/registry/kubernetes/listener_test.go b/registry/kubernetes/listener_test.go index 88e1589020fe8b62a2e2f03690cece081302cc06..c9ff6260880546e9a5f3297f7cf63b039521e7ec 100644 --- a/registry/kubernetes/listener_test.go +++ b/registry/kubernetes/listener_test.go @@ -19,8 +19,6 @@ package kubernetes import ( "encoding/json" - "net/http" - _ "net/http/pprof" "os" "strconv" "testing" @@ -239,9 +237,6 @@ func (s *KubernetesRegistryTestSuite) SetupSuite() { if err := os.Setenv(nameSpaceKey, s.currentPod.GetNamespace()); err != nil { t.Fatal(err) } - - go http.ListenAndServe(":6061", nil) - } func (s *KubernetesRegistryTestSuite) TestDataChange() { diff --git a/registry/kubernetes/registry.go b/registry/kubernetes/registry.go index 14dd4a3722967d28de19c09e1e097d6eefcf7e7c..289a42aa5a859687b850cb9f8646f836691385ee 100644 --- a/registry/kubernetes/registry.go +++ b/registry/kubernetes/registry.go @@ -97,14 +97,9 @@ func (r *kubernetesRegistry) CloseListener() { } func (r *kubernetesRegistry) CreatePath(k string) error { - var tmpPath string - for _, str := range strings.Split(k, "/")[1:] { - tmpPath = path.Join(tmpPath, "/", str) - if err := r.client.Create(tmpPath, ""); err != nil { - return perrors.WithMessagef(err, "create path %s in kubernetes", tmpPath) - } + if err := r.client.Create(k, ""); err != nil { + return perrors.WithMessagef(err, "create path %s in kubernetes", k) } - return nil } diff --git a/registry/kubernetes/registry_test.go b/registry/kubernetes/registry_test.go index a01af167c3ba4a5f4a10b6bd01e821229041408a..43a1bd79b6e249ed86bbb0f58504db0d7df5bbd5 100644 --- a/registry/kubernetes/registry_test.go +++ b/registry/kubernetes/registry_test.go @@ -38,7 +38,11 @@ func (s *KubernetesRegistryTestSuite) TestRegister() { r := s.initRegistry() defer r.Destroy() - url, _ := common.NewURL("dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", common.WithParamsValue(constant.CLUSTER_KEY, "mock"), common.WithMethods([]string{"GetUser", "AddUser"})) + url, _ := common.NewURL( + "dubbo://127.0.0.1:20000/com.ikurento.user.UserProvider", + common.WithParamsValue(constant.CLUSTER_KEY, "mock"), + common.WithMethods([]string{"GetUser", "AddUser"}), + ) err := r.Register(url) assert.NoError(t, err)