Commit 6889d2f0 authored by zhaoyunxing92's avatar zhaoyunxing92

up:代码优化

parent ac643b25
...@@ -57,44 +57,51 @@ func initNacosConfigClientPool() { ...@@ -57,44 +57,51 @@ func initNacosConfigClientPool() {
// NewNacosNamingClient create nacos client // NewNacosNamingClient create nacos client
func NewNacosNamingClient(name string, share bool, sc []constant.ServerConfig, func NewNacosNamingClient(name string, share bool, sc []constant.ServerConfig,
cc constant.ClientConfig) (naming_client.INamingClient, error) { cc constant.ClientConfig) (naming_client.INamingClient, error) {
if share { if !share {
clientPoolOnce.Do(initNacosClientPool) return newNamingClient(sc, cc)
clientPool.Lock() }
defer clientPool.Unlock() clientPoolOnce.Do(initNacosClientPool)
if client, ok := clientPool.namingClient[name]; ok { clientPool.Lock()
return client, nil defer clientPool.Unlock()
} if client, ok := clientPool.namingClient[name]; ok {
return client, nil
} }
cfg := vo.NacosClientParam{ClientConfig: &cc, ServerConfigs: sc} client, err := newNamingClient(sc, cc)
client, err := clients.NewNamingClient(cfg)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if share { clientPool.namingClient[name] = client
clientPool.namingClient[name] = client
}
return client, err return client, err
} }
// NewNacosConfigClient create config client // NewNacosConfigClient create config client
func NewNacosConfigClient(name string, share bool, sc []constant.ServerConfig, func NewNacosConfigClient(name string, share bool, sc []constant.ServerConfig,
cc constant.ClientConfig) (config_client.IConfigClient, error) { cc constant.ClientConfig) (config_client.IConfigClient, error) {
if share { if !share {
configClientPoolOnce.Do(initNacosConfigClientPool) return newConfigClient(sc, cc)
configClientPool.Lock()
defer configClientPool.Unlock()
if client, ok := configClientPool.configClient[name]; ok {
return client, nil
}
} }
cfg := vo.NacosClientParam{ClientConfig: &cc, ServerConfigs: sc} configClientPoolOnce.Do(initNacosConfigClientPool)
client, err := clients.NewConfigClient(cfg) configClientPool.Lock()
defer configClientPool.Unlock()
if client, ok := configClientPool.configClient[name]; ok {
return client, nil
}
client, err := newConfigClient(sc, cc)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if share { configClientPool.configClient[name] = client
configClientPool.configClient[name] = client
}
return client, err return client, err
} }
func newNamingClient(sc []constant.ServerConfig, cc constant.ClientConfig) (naming_client.INamingClient, error) {
cfg := vo.NacosClientParam{ClientConfig: &cc, ServerConfigs: sc}
return clients.NewNamingClient(cfg)
}
func newConfigClient(sc []constant.ServerConfig, cc constant.ClientConfig) (config_client.IConfigClient, error) {
cfg := vo.NacosClientParam{ClientConfig: &cc, ServerConfigs: sc}
return clients.NewConfigClient(cfg)
}
Markdown is supported
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