diff --git a/config_center/nacos/client.go b/config_center/nacos/client.go index 3764ea4cf330e4846968c82a34e8bd6afa793b0b..b8f2aa99d55bd3c69ea1619a237821802febf1c8 100644 --- a/config_center/nacos/client.go +++ b/config_center/nacos/client.go @@ -87,6 +87,7 @@ func ValidateNacosClient(container nacosClientFacade, opts ...Option) error { split := strings.Split(nacosAddr, ":") port, err := strconv.ParseUint(split[1], 10, 64) if err != nil { + logger.Warnf("nacos addr port parse error ,error message is %v", err) continue } svrconf := nacosconst.ServerConfig{ @@ -99,10 +100,10 @@ func ValidateNacosClient(container nacosClientFacade, opts ...Option) error { client, err := clients.CreateConfigClient(map[string]interface{}{ "serverConfigs": svrConfList, "clientConfig": nacosconst.ClientConfig{ - TimeoutMs: uint64(container.NacosClient().Timeout.Nanoseconds() / 1e6), + TimeoutMs: uint64(container.NacosClient().Timeout.Milliseconds()), ListenInterval: 10000, NotLoadCacheAtStart: true, - LogDir: "logs/nacos/log", //TODO unified log directory + LogDir: "logs/nacos/log", }, }) container.NacosClient().Client = &client @@ -143,10 +144,10 @@ func newNacosClient(name string, nacosAddrs []string, timeout time.Duration) (*N client, err := clients.CreateConfigClient(map[string]interface{}{ "serverConfigs": svrConfList, "clientConfig": nacosconst.ClientConfig{ - TimeoutMs: uint64(timeout.Nanoseconds() / 1e6), + TimeoutMs: uint64(timeout.Milliseconds()), ListenInterval: 20000, NotLoadCacheAtStart: true, - LogDir: "logs/nacos/log", //TODO unified log directory + LogDir: "logs/nacos/log", }, }) n.Client = &client @@ -157,49 +158,6 @@ func newNacosClient(name string, nacosAddrs []string, timeout time.Duration) (*N return n, nil } -func newMockNacosClient(name string, nacosAddrs []string, timeout time.Duration) (*NacosClient, error) { - var ( - err error - n *NacosClient - ) - - n = &NacosClient{ - name: name, - NacosAddrs: nacosAddrs, - Timeout: timeout, - exit: make(chan struct{}), - } - - svrConfList := []nacosconst.ServerConfig{} - for _, nacosAddr := range n.NacosAddrs { - split := strings.Split(nacosAddr, ":") - port, err := strconv.ParseUint(split[1], 10, 64) - if err != nil { - continue - } - svrconf := nacosconst.ServerConfig{ - IpAddr: split[0], - Port: port, - } - svrConfList = append(svrConfList, svrconf) - } - - client, err := clients.CreateConfigClient(map[string]interface{}{ - "serverConfigs": svrConfList, - "clientConfig": nacosconst.ClientConfig{ - TimeoutMs: uint64(timeout.Nanoseconds() / 1e6), - ListenInterval: 10000, - NotLoadCacheAtStart: true, - LogDir: "logs/nacos/log", ///TODO unified log directory - }, - }) - if err != nil { - return nil, perrors.WithMessagef(err, "nacos clients.CreateConfigClient(nacosAddrs:%+v)", nacosAddrs) - } - n.Client = &client - return n, nil -} - func (n *NacosClient) Done() <-chan struct{} { return n.exit } @@ -239,9 +197,7 @@ func (n *NacosClient) Close() { n.stop() n.Lock() - if n.Client != nil { - n.Client = nil - } + n.Client = nil n.Unlock() logger.Warnf("nacosClient{name:%s, zk addr:%s} exit now.", n.name, n.NacosAddrs) } diff --git a/config_center/nacos/impl.go b/config_center/nacos/impl.go index 5d7213d3f404fac6daa2ce50db2a3aaf4da25387..e556370ba02d2dc923a05cacb3644e6faff65466 100644 --- a/config_center/nacos/impl.go +++ b/config_center/nacos/impl.go @@ -51,7 +51,6 @@ func newNacosDynamicConfiguration(url *common.URL) (*nacosDynamicConfiguration, c := &nacosDynamicConfiguration{ rootPath: "/" + url.GetParam(constant.CONFIG_NAMESPACE_KEY, config_center.DEFAULT_GROUP) + "/config", url: url, - keyListeners: sync.Map{}, } err := ValidateNacosClient(c, WithNacosName(NacosClientName)) if err != nil { @@ -72,7 +71,7 @@ func (n *nacosDynamicConfiguration) RemoveListener(key string, listener config_c n.removeListener(key, listener) } -// 鍦╪acos group鏄痙ubbo DataId鏄痥ey configfile 鎴� appconfigfile +//nacos distinguishes configuration files based on group and dataId. defalut group = "dubbo" and dataId = key func (n *nacosDynamicConfiguration) GetProperties(key string, opts ...config_center.Option) (string, error) { tmpOpts := &config_center.Options{} diff --git a/config_center/nacos/listener.go b/config_center/nacos/listener.go index 86e1162ed12e9fb11fb17e9a1dfd80f669f43650..c99553a5f469458ac808c677159b63387516ac10 100644 --- a/config_center/nacos/listener.go +++ b/config_center/nacos/listener.go @@ -38,12 +38,10 @@ func (l *nacosDynamicConfiguration) addListener(key string, listener config_cent _, loaded := l.keyListeners.Load(key) if !loaded { _, cancel := context.WithCancel(context.Background()) - (*l.client.Client).ListenConfig(vo.ConfigParam{ //TODO 杩欎釜listen鎺ュ彛搴旇瑕佹湁涓猚ontext鐨� - //(*l.client.Client).ListenConfigWithContext(ctx, vo.ConfigParam{ + (*l.client.Client).ListenConfig(vo.ConfigParam{ DataId: key, Group: "dubbo", OnChange: func(namespace, group, dataId, data string) { - //go callback(ctx, listener, namespace, group, dataId, data) go callback(context.TODO(), listener, namespace, group, dataId, data) }, }) @@ -57,10 +55,4 @@ func (l *nacosDynamicConfiguration) addListener(key string, listener config_cent func (l *nacosDynamicConfiguration) removeListener(key string, listener config_center.ConfigurationListener) { // TODO not supported in current go_nacos_sdk version - //listeners, loaded := l.keyListeners.Load(key) - //if loaded { - // listenerMap := listeners.(map[config_center.ConfigurationListener]context.CancelFunc) - // listenerMap[listener]() - // delete(listeners.(map[config_center.ConfigurationListener]context.CancelFunc), listener) - //} }