pull/362/head
Windfarer 5 years ago committed by Felix Hao
parent 9ee925668e
commit 230a63771d
  1. 75
      doc/wiki-cn/config-paladin.md

@ -46,9 +46,10 @@ func TestMain(t *testing.M) {
### example main
```go
# main.go
// main.go
func main() {
# 初始化paladin
flag.Parse()
// 初始化paladin
if err := paladin.Init(); err != nil {
panic(err)
}
@ -58,28 +59,31 @@ func main() {
```
### example HTTP/gRPC
```go
```toml
# http.toml
[server]
addr = "0.0.0.0:9000"
timeout = "1s"
# server.go
```
```go
// server.go
func NewServer() {
# 默认配置用nil,这时读取HTTP/gRPC构架中的flag或者环境变量(可能是docker注入的环境变量,默认端口:8000/9000)
engine := bm.DefaultServer(nil)
# 除非自己要替换了配置,用http.toml
var bc struct {
Server *bm.ServerConfig
}
if err = paladin.Get("http.toml").UnmarshalTOML("server", &bc); err != nil {
// 不存在时,将会为nil使用默认配置
if err != paladin.ErrNotExist {
panic(err)
}
}
engine := bm.DefaultServer(conf)
// 默认配置用nil,这时读取HTTP/gRPC构架中的flag或者环境变量(可能是docker注入的环境变量,默认端口:8000/9000)
engine := bm.DefaultServer(nil)
// 除非自己要替换了配置,用http.toml
var bc struct {
Server *bm.ServerConfig
}
if err := paladin.Get("http.toml").UnmarshalTOML(&bc); err != nil {
// 不存在时,将会为nil使用默认配置
if err != paladin.ErrNotExist {
panic(err)
}
}
engine := bm.DefaultServer(bc.Server)
}
```
@ -87,25 +91,28 @@ func NewServer() {
```go
# service.go
type Service struct {
ac *paladin.Map
ac *paladin.Map
}
func New() *Service {
# paladin.Map 通过atomic.Value支持自动热加载
var ac = new(paladin.TOML)
if err := paladin.Watch("application.toml", ac); err != nil {
panic(err)
}
s := &Service{
ac : ac;
}
return s
// paladin.Map 通过atomic.Value支持自动热加载
var ac = new(paladin.TOML)
if err := paladin.Watch("application.toml", ac); err != nil {
panic(err)
}
s := &Service{
ac: ac,
}
return s
}
func (s *Service) Test() {
switch, err := s.ac.Bool("switch")
if err != nil {
// TODO
}
# or use default value
switch := paladin.Bool(s.ac.Value("switch"), false)
sw, err := s.ac.Get("switch").Bool()
if err != nil {
// TODO
}
// or use default value
sw := paladin.Bool(s.ac.Get("switch"), false)
}
```

Loading…
Cancel
Save