[agent-go] 解决代码bug

This commit is contained in:
zeaslity
2023-03-24 17:02:28 +08:00
parent 7e2450d30a
commit 5accd999f8
8 changed files with 44 additions and 37 deletions

View File

@@ -16,23 +16,26 @@ import (
var log = G.LOG
var group = ""
func InitNacos(configFileName string) {
func InitNacos(configFileName string) *viper.Viper {
v := parseAgentConfigFile(configFileName, nil)
group = v.GetString("spring.cloud.nacos.config.group")
// build the nacos connection
configClient := startNacosConnection(v)
// get all needed nacos config and merge
allNacosConfig := getAllNacosConfig(v, group, configClient)
for _, nacosConfigContent := range allNacosConfig {
log.Debug(fmt.Sprintf("nacos config conetent is %s", nacosConfigContent))
//parseNacosConfigContend(nacosConfigContent, v)
parseNacosConfigContend(nacosConfigContent, v)
}
log.Info(fmt.Sprintf("%s config read result are %v", configFileName, v.AllSettings()))
return v
}
func parseAgentConfigFile(configFileName string, v *viper.Viper) *viper.Viper {
@@ -59,7 +62,10 @@ func parseAgentConfigFile(configFileName string, v *viper.Viper) *viper.Viper {
func parseNacosConfigContend(configContent string, v *viper.Viper) *viper.Viper {
v.SetConfigType("yaml")
err := v.ReadConfig(bytes.NewBuffer([]byte(configContent)))
// use merge
err := v.MergeConfig(bytes.NewBuffer([]byte(configContent)))
if err != nil {
log.Error("nacos config contend read error !", zap.Error(err))
}
@@ -68,19 +74,21 @@ func parseNacosConfigContend(configContent string, v *viper.Viper) *viper.Viper
}
func startNacosConnection(v *viper.Viper) config_client.IConfigClient {
serverAddr := v.GetString("spring.cloud.nacos.config.server-addr")
clientConfig := constant.ClientConfig{
NamespaceId: "public",
TimeoutMs: v.GetUint64("spring.cloud.nacos.config.timeout"),
NotLoadCacheAtStart: true,
AppendToStdout: true,
//UpdateCacheWhenEmpty: true,
//Endpoint: serverAddr,
NamespaceId: "",
TimeoutMs: v.GetUint64("spring.cloud.nacos.config.timeout"),
NotLoadCacheAtStart: true,
AppendToStdout: true,
UpdateCacheWhenEmpty: true,
//LogDir: "/tmp/nacos/log",
//CacheDir: "/tmp/nacos/cache",
Username: "nacos",
Password: "Superwmm.23",
}
serverAddr := v.GetString("spring.cloud.nacos.config.server-addr")
split := strings.Split(serverAddr, ":")
if len(split) != 2 {
log.Error("nacos server addr error!")
@@ -131,15 +139,15 @@ func getAllNacosConfig(v *viper.Viper, group string, configClient config_client.
for _, addConfigMap := range m {
real, _ := addConfigMap.(map[string]interface{})
realMap, _ := addConfigMap.(map[string]interface{})
for additionalNacosConfigFileName, additionalNacosConfigGroup := range real {
s := additionalNacosConfigGroup.(string)
configContent := getConfig(additionalNacosConfigFileName, s, configClient)
result = append(result, configContent)
}
// 拿到配置的Key
dataId := realMap["data-id"].(string)
group := realMap["group"].(string)
// 查询
config := getConfig(dataId, group, configClient)
result = append(result, config)
}
return result
@@ -150,13 +158,13 @@ func getConfig(dataId string, group string, configClient config_client.IConfigCl
log.Debug(fmt.Sprintf("nacos config get method dataID is %s, group is %s", dataId, group))
content := ""
configClient.GetConfig(vo.ConfigParam{
DataId: dataId,
Group: group,
Content: content,
Type: "yaml",
content, err := configClient.GetConfig(vo.ConfigParam{
DataId: dataId,
Group: group,
})
if err != nil {
log.Error("nacos config get error !", zap.Error(err))
}
log.Debug(fmt.Sprintf("dataId %s , group %s, nacos config content is %s", dataId, group, content))

View File

@@ -17,8 +17,6 @@ const (
ExecOmType = "EXECUTOR"
StatusOmType = "STATUS"
InitOmType = "INIT"
// write about
)
var logger, _ = NewLogger()