Skip to content
Snippets Groups Projects
Commit 971c854d authored by AlexStocks's avatar AlexStocks
Browse files

fix registry error

parent 69026e85
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,7 @@ package registry
import (
perrors "github.com/pkg/errors"
)
import (
"github.com/apache/dubbo-go/common"
"github.com/apache/dubbo-go/common/config"
......@@ -42,7 +43,9 @@ func (bcl *BaseConfigurationListener) Configurators() []config_center.Configurat
}
// InitWith will init BaseConfigurationListener by @key+@Listener+@f
func (bcl *BaseConfigurationListener) InitWith(key string, listener config_center.ConfigurationListener, f func(url *common.URL) config_center.Configurator) {
func (bcl *BaseConfigurationListener) InitWith(key string, listener config_center.ConfigurationListener,
f func(url *common.URL) config_center.Configurator) {
bcl.dynamicConfiguration = config.GetEnvInstance().GetDynamicConfiguration()
if bcl.dynamicConfiguration == nil {
//set configurators to empty
......@@ -51,12 +54,15 @@ func (bcl *BaseConfigurationListener) InitWith(key string, listener config_cente
}
bcl.defaultConfiguratorFunc = f
bcl.dynamicConfiguration.AddListener(key, listener)
if rawConfig, err := bcl.dynamicConfiguration.GetInternalProperty(key, config_center.WithGroup(constant.DUBBO)); err != nil {
if rawConfig, err := bcl.dynamicConfiguration.GetInternalProperty(key,
config_center.WithGroup(constant.DUBBO)); err != nil {
//set configurators to empty
bcl.configurators = []config_center.Configurator{}
return
} else if len(rawConfig) > 0 {
bcl.genConfiguratorFromRawRule(rawConfig)
if err := bcl.genConfiguratorFromRawRule(rawConfig); err != nil {
logger.Error("bcl.genConfiguratorFromRawRule(rawConfig:%v) = error:%v", rawConfig, err)
}
}
}
......
......@@ -102,7 +102,9 @@ func (dir *RegistryDirectory) subscribe(url *common.URL) {
logger.Debugf("subscribe service :%s for RegistryDirectory.", url.Key())
dir.consumerConfigurationListener.addNotifyListener(dir)
dir.referenceConfigurationListener = newReferenceConfigurationListener(dir, url)
dir.registry.Subscribe(url, dir)
if err := dir.registry.Subscribe(url, dir); err != nil {
logger.Error("registry.Subscribe(url:%v, dir:%v) = error:%v", url, dir, err)
}
}
// Notify monitor changes from registry,and update the cacheServices
......
......@@ -87,7 +87,8 @@ func Test_Subscribe(t *testing.T) {
regurl.SetParam(constant.ROLE_KEY, strconv.Itoa(common.CONSUMER))
_, reg2, _ := newMockZkRegistry(regurl, zookeeper.WithTestCluster(ts))
reg2.Register(url)
err = reg2.Register(url)
assert.Nil(t, err)
listener, _ := reg2.DoSubscribe(url)
serviceEvent, _ := listener.Next()
......@@ -116,7 +117,8 @@ func Test_UnSubscribe(t *testing.T) {
regurl.SetParam(constant.ROLE_KEY, strconv.Itoa(common.CONSUMER))
_, reg2, _ := newMockZkRegistry(regurl, zookeeper.WithTestCluster(ts))
reg2.Register(url)
err = reg2.Register(url)
assert.Nil(t, err)
listener, _ := reg2.DoSubscribe(url)
serviceEvent, _ := listener.Next()
......@@ -126,7 +128,8 @@ func Test_UnSubscribe(t *testing.T) {
}
assert.Regexp(t, ".*ServiceEvent{Action{add}.*", serviceEvent.String())
reg2.UnSubscribe(url, nil)
err = reg2.UnSubscribe(url, nil)
assert.Nil(t, err)
assert.Nil(t, reg2.listener)
defer ts.Stop()
......@@ -160,7 +163,8 @@ func Test_ProviderDestory(t *testing.T) {
defer ts.Stop()
assert.NoError(t, err)
reg.Register(url)
err = reg.Register(url)
assert.Nil(t, err)
//listener.Close()
time.Sleep(1e9)
......
......@@ -78,7 +78,10 @@ func TestCURDZookeeperServiceDiscovery(t *testing.T) {
defer ts.Stop()
sd, err := newZookeeperServiceDiscovery(testName)
assert.Nil(t, err)
defer sd.Destroy()
defer func() {
err := sd.Destroy()
assert.Nil(t, err)
}()
md := make(map[string]string)
md["t1"] = "test1"
err = sd.Register(&registry.DefaultServiceInstance{
......@@ -143,7 +146,10 @@ func TestAddListenerZookeeperServiceDiscovery(t *testing.T) {
defer ts.Stop()
sd, err := newZookeeperServiceDiscovery(testName)
assert.Nil(t, err)
defer sd.Destroy()
defer func() {
err := sd.Destroy()
assert.Nil(t, err)
}()
err = sd.Register(&registry.DefaultServiceInstance{
Id: "testId",
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment