1 Star 0 Fork 0

王宇航 / wcenter

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
load.go 1.94 KB
一键复制 编辑 原始数据 按行查看 历史
王宇航 提交于 2024-04-11 16:15 . 修改名字
package ServiceUtils
import (
"fmt"
"github.com/BurntSushi/toml"
)
var (
globalMetricManageSvc *MetricManageSvc
globalRedisConf *RedisConf
globalMongoConf *MongoConf
)
type RedisConf struct {
Ipaddr string `toml:"ipaddr"`
Port string `toml:"port"`
}
type MongoConf struct {
Username string `toml:"username"`
Password string `toml:"password"`
Ipaddr string `toml:"ipaddr"`
Port string `toml:"port"`
}
type MetricManageSvc struct {
ServiceManageEndpoints []string `toml:"endpoints"`
MetricManageIpAddr string `toml:"ipaddr"`
MetricManagePort string `toml:"port"`
}
func Load(projectRoot string) error {
MetricManageConfig := &MetricManageSvc{}
RedisConfig := &RedisConf{}
MongoConfig := &MongoConf{}
mc, err := MetricManageConfig.load(projectRoot)
if err != nil {
return err
}
rc, err := RedisConfig.load(projectRoot)
if err != nil {
return err
}
moc, err := MongoConfig.load(projectRoot)
if err != nil {
return err
}
globalMetricManageSvc = mc
globalRedisConf = rc
globalMongoConf = moc
return nil
}
func (e *MetricManageSvc) load(projectRoot string) (*MetricManageSvc, error) {
conf := struct {
MetricManageSvc MetricManageSvc `toml:"MetricManageSvc"`
}{}
_, err := toml.DecodeFile(fmt.Sprintf("%s/etc/ServiceCenter.toml", projectRoot), &conf)
if err != nil {
return nil, err
}
return &conf.MetricManageSvc, nil
}
func (r *RedisConf) load(projectRoot string) (*RedisConf, error) {
conf := struct {
RedisConf RedisConf `toml:"RedisConf"`
}{}
_, err := toml.DecodeFile(fmt.Sprintf("%s/etc/ServiceCenter.toml", projectRoot), &conf)
if err != nil {
return nil, err
}
return &conf.RedisConf, nil
}
func (m *MongoConf) load(projectRoot string) (*MongoConf, error) {
conf := struct {
MongoConf MongoConf `toml:"MongoConf"`
}{}
_, err := toml.DecodeFile(fmt.Sprintf("%s/etc/ServiceCenter.toml", projectRoot), &conf)
if err != nil {
return nil, err
}
return &conf.MongoConf, nil
}
Go
1
https://gitee.com/King_of_Universe_Sailing/MircoCenter.git
git@gitee.com:King_of_Universe_Sailing/MircoCenter.git
King_of_Universe_Sailing
MircoCenter
wcenter
d15be5429ddb

搜索帮助

53164aa7 5694891 3bd8fe86 5694891