diff --git a/pkg/nodeconfigs/node_config.go b/pkg/nodeconfigs/node_config.go index 9411f0d..778541c 100644 --- a/pkg/nodeconfigs/node_config.go +++ b/pkg/nodeconfigs/node_config.go @@ -172,6 +172,11 @@ func (this *NodeConfig) Init() (err error, serverErrors []*ServerError) { // servers for _, server := range this.Servers { + // 避免在运行时重新初始化 + if server.IsInitialized() { + continue + } + // 初始化 errs := server.Init() if len(errs) > 0 { diff --git a/pkg/serverconfigs/server_config.go b/pkg/serverconfigs/server_config.go index 1e6c6dd..db4b3c8 100644 --- a/pkg/serverconfigs/server_config.go +++ b/pkg/serverconfigs/server_config.go @@ -62,6 +62,8 @@ type ServerConfig struct { // UAM UAM *UAMConfig `yaml:"uam" json:"uam"` + isInitialized bool + isOk bool planId int64 @@ -79,6 +81,11 @@ func NewServerConfig() *ServerConfig { } func (this *ServerConfig) Init() (results []error) { + if this.isInitialized { + return + } + this.isInitialized = true + // 分解Group if this.Group != nil && this.Group.IsOn { // reverse proxy @@ -266,6 +273,10 @@ func (this *ServerConfig) Init() (results []error) { return nil } +func (this *ServerConfig) IsInitialized() bool { + return this.isInitialized +} + // IsOk 配置是否正确 func (this *ServerConfig) IsOk() bool { return this.isOk