File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package configcenter
2+
3+ import (
4+ configurator "github.com/zeromicro/go-zero/core/configcenter"
5+ "github.com/zeromicro/go-zero/core/configcenter/subscriber"
6+ "github.com/zeromicro/go-zero/core/logx"
7+ )
8+
9+ type Config configurator.Config
10+
11+ type ConfigCenter [T any ] interface {
12+ configurator.Configurator [T ]
13+ MustGetConfig () T
14+ }
15+
16+ type configCenter [T any ] struct {
17+ configurator.Configurator [T ]
18+ }
19+
20+ func (c * configCenter [T ]) MustGetConfig () T {
21+ config , err := c .Configurator .GetConfig ()
22+ logx .Must (err )
23+ return config
24+ }
25+
26+ func (c * configCenter [T ]) GetConfig () (T , error ) {
27+ return c .Configurator .GetConfig ()
28+ }
29+
30+ func (c * configCenter [T ]) AddListener (listener func ()) {
31+ c .Configurator .AddListener (listener )
32+ }
33+
34+ func MustNewConfigCenter [T any ](c Config , subscriber subscriber.Subscriber ) ConfigCenter [T ] {
35+ cc , err := NewConfigCenter [T ](c , subscriber )
36+ logx .Must (err )
37+ return cc
38+ }
39+
40+ func NewConfigCenter [T any ](c Config , subscriber subscriber.Subscriber ) (ConfigCenter [T ], error ) {
41+ cc := & configCenter [T ]{}
42+
43+ center , err := configurator .NewConfigCenter [T ](configurator .Config (c ), subscriber )
44+ if err != nil {
45+ return nil , err
46+ }
47+ cc .Configurator = center
48+ return cc , nil
49+ }
Original file line number Diff line number Diff line change @@ -5,9 +5,11 @@ import (
55 "github.com/zeromicro/go-zero/core/logx"
66)
77
8+ type EtcdConf subscriber.EtcdConf
9+
810// MustNewEtcdSubscriber returns an etcd Subscriber, exits on errors.
9- func MustNewEtcdSubscriber (conf subscriber. EtcdConf ) subscriber.Subscriber {
10- s , err := subscriber .NewEtcdSubscriber (conf )
11+ func MustNewEtcdSubscriber (conf EtcdConf ) subscriber.Subscriber {
12+ s , err := subscriber .NewEtcdSubscriber (subscriber . EtcdConf ( conf ) )
1113 logx .Must (err )
1214 return s
1315}
You can’t perform that action at this time.
0 commit comments