You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by la...@apache.org on 2021/10/02 07:55:54 UTC
[dubbo-go] 01/01: fix: pass ut
This is an automated email from the ASF dual-hosted git repository.
laurence pushed a commit to branch config-api
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
commit f2948997d328028480dbb9fbfc4420fa8fed59a4
Author: LaurenceLiZhixin <38...@qq.com>
AuthorDate: Sat Oct 2 15:55:40 2021 +0800
fix: pass ut
---
config/dubbo_bootstrap.go | 117 ---------------------
config/logger_config.go | 9 --
config/root_config.go | 92 ++++++++++++++++
config/testdata/application.yaml | 4 +-
config/testdata/config/app/application.yaml | 2 +-
config/testdata/config/provider/application.yaml | 4 +-
.../config/provider/registry_application.yaml | 4 +-
config/testdata/consumer_config.yml | 2 +-
.../testdata/consumer_config_with_configcenter.yml | 2 +-
.../testdata/consumer_config_withoutProtocol.yml | 2 +-
config/testdata/provider_config.yml | 2 +-
.../testdata/provider_config_withoutProtocol.yml | 2 +-
.../service/exporter/configurable/exporter_test.go | 2 +-
13 files changed, 105 insertions(+), 139 deletions(-)
diff --git a/config/dubbo_bootstrap.go b/config/dubbo_bootstrap.go
deleted file mode 100644
index 1513d79..0000000
--- a/config/dubbo_bootstrap.go
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package config
-
-import (
- "sync"
-)
-
-import (
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/common"
- "dubbo.apache.org/dubbo-go/v3/common/constant"
- "dubbo.apache.org/dubbo-go/v3/common/logger"
-)
-
-var (
- startOnce sync.Once
-)
-
-func registerPOJO() {
- hessian.RegisterPOJO(&common.MetadataInfo{})
- hessian.RegisterPOJO(&common.ServiceInfo{})
- hessian.RegisterPOJO(&common.URL{})
-}
-
-func (rc *RootConfig) Init() error {
- registerPOJO()
- if err := rc.Logger.Init(); err != nil {
- return err
- }
- if err := rc.ConfigCenter.Init(rc); err != nil {
- logger.Warnf("config center doesn't start. error is %s", err)
- }
- if err := rc.Application.Init(); err != nil {
- return err
- }
-
- // init protocol
- protocols := rc.Protocols
- if len(protocols) <= 0 {
- protocol := &ProtocolConfig{}
- protocols = make(map[string]*ProtocolConfig, 1)
- protocols[constant.DUBBO] = protocol
- rc.Protocols = protocols
- }
- for _, protocol := range protocols {
- if err := protocol.Init(); err != nil {
- return err
- }
- }
-
- // init registry
- registries := rc.Registries
- if registries != nil {
- for _, reg := range registries {
- if err := reg.Init(); err != nil {
- return err
- }
- }
- }
-
- // init serviceDiscoveries
- serviceDiscoveries := rc.ServiceDiscoveries
- if serviceDiscoveries != nil {
- for _, sd := range serviceDiscoveries {
- if err := sd.Init(); err != nil {
- return err
- }
- }
- }
-
- if err := rc.MetadataReport.Init(rc); err != nil {
- return err
- }
- if err := rc.Metric.Init(); err != nil {
- return err
- }
- if err := initRouterConfig(rc); err != nil {
- return err
- }
- // provider、consumer must last init
- if err := rc.Provider.Init(rc); err != nil {
- return err
- }
- if err := rc.Consumer.Init(rc); err != nil {
- return err
- }
-
- rc.Start()
- return nil
-}
-
-func (rc *RootConfig) Start() {
- startOnce.Do(func() {
- rc.Provider.Load()
- rc.Consumer.Load()
- registerServiceInstance()
- })
-}
diff --git a/config/logger_config.go b/config/logger_config.go
index 0e7ec43..444bc38 100644
--- a/config/logger_config.go
+++ b/config/logger_config.go
@@ -72,16 +72,7 @@ func (LoggerConfig) Prefix() string {
return constant.LoggerConfigPrefix
}
-func GetLoggerConfigInstance() *LoggerConfig {
- lc := &LoggerConfig{}
- return lc
-}
-
func (lc *LoggerConfig) Init() error {
-
- if lc == nil {
- lc = GetLoggerConfigInstance()
- }
err := lc.check()
if err != nil {
return err
diff --git a/config/root_config.go b/config/root_config.go
index 86e5ed0..c7f8205 100644
--- a/config/root_config.go
+++ b/config/root_config.go
@@ -19,10 +19,21 @@ package config
import (
_ "net/http/pprof"
+ "sync"
)
import (
+ hessian "github.com/apache/dubbo-go-hessian2"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common"
"dubbo.apache.org/dubbo-go/v3/common/constant"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+)
+
+var (
+ startOnce sync.Once
)
// RootConfig is the root config
@@ -113,6 +124,86 @@ func (rc *RootConfig) getRegistryIds() []string {
}
return removeDuplicateElement(ids)
}
+func registerPOJO() {
+ hessian.RegisterPOJO(&common.MetadataInfo{})
+ hessian.RegisterPOJO(&common.ServiceInfo{})
+ hessian.RegisterPOJO(&common.URL{})
+}
+
+func (rc *RootConfig) Init() error {
+ registerPOJO()
+ if err := rc.Logger.Init(); err != nil {
+ return err
+ }
+ if err := rc.ConfigCenter.Init(rc); err != nil {
+ logger.Warnf("config center doesn't start. error is %s", err)
+ }
+ if err := rc.Application.Init(); err != nil {
+ return err
+ }
+
+ // init protocol
+ protocols := rc.Protocols
+ if len(protocols) <= 0 {
+ protocol := &ProtocolConfig{}
+ protocols = make(map[string]*ProtocolConfig, 1)
+ protocols[constant.DUBBO] = protocol
+ rc.Protocols = protocols
+ }
+ for _, protocol := range protocols {
+ if err := protocol.Init(); err != nil {
+ return err
+ }
+ }
+
+ // init registry
+ registries := rc.Registries
+ if registries != nil {
+ for _, reg := range registries {
+ if err := reg.Init(); err != nil {
+ return err
+ }
+ }
+ }
+
+ // init serviceDiscoveries
+ serviceDiscoveries := rc.ServiceDiscoveries
+ if serviceDiscoveries != nil {
+ for _, sd := range serviceDiscoveries {
+ if err := sd.Init(); err != nil {
+ return err
+ }
+ }
+ }
+
+ if err := rc.MetadataReport.Init(rc); err != nil {
+ return err
+ }
+ if err := rc.Metric.Init(); err != nil {
+ return err
+ }
+ if err := initRouterConfig(rc); err != nil {
+ return err
+ }
+ // provider、consumer must last init
+ if err := rc.Provider.Init(rc); err != nil {
+ return err
+ }
+ if err := rc.Consumer.Init(rc); err != nil {
+ return err
+ }
+
+ rc.Start()
+ return nil
+}
+
+func (rc *RootConfig) Start() {
+ startOnce.Do(func() {
+ rc.Provider.Load()
+ rc.Consumer.Load()
+ registerServiceInstance()
+ })
+}
// newEmptyRootConfig get empty root config
func newEmptyRootConfig() *RootConfig {
@@ -126,6 +217,7 @@ func newEmptyRootConfig() *RootConfig {
Provider: NewProviderConfigBuilder().Build(),
Consumer: NewConsumerConfigBuilder().Build(),
Metric: NewMetricConfigBuilder().Build(),
+ Logger: NewLoggerConfigBuilder().Build(),
}
return newRootConfig
}
diff --git a/config/testdata/application.yaml b/config/testdata/application.yaml
index f0876a1..2325e87 100644
--- a/config/testdata/application.yaml
+++ b/config/testdata/application.yaml
@@ -26,10 +26,10 @@ dubbo:
services:
helloService:
interface: org.dubbo.service.HelloService
- registry: nacos,zk
+ registries: nacos,zk
orderService:
interface: org.dubbo.service.OrderService
- registry: nacos
+ registries: nacos
provider:
register: true
services:
\ No newline at end of file
diff --git a/config/testdata/config/app/application.yaml b/config/testdata/config/app/application.yaml
index 4cd30cc..418201f 100644
--- a/config/testdata/config/app/application.yaml
+++ b/config/testdata/config/app/application.yaml
@@ -14,7 +14,7 @@ dubbo:
interface: org.github.dubbo.HelloService # must be compatible with grpc or dubbo-java
provider:
register: true
- registry: nacos
+ registries: nacos
services:
helloService:
protocol: dubbo
diff --git a/config/testdata/config/provider/application.yaml b/config/testdata/config/provider/application.yaml
index 8816257..92f1de7 100644
--- a/config/testdata/config/provider/application.yaml
+++ b/config/testdata/config/provider/application.yaml
@@ -6,12 +6,12 @@ dubbo:
address: nacos://127.0.0.1:8848
provider:
register: true
- registry:
+ registries:
- nacos
- zk
services:
helloService:
interface: org.dubbo.service.HelloService
- registry: nacos,zk
+ registries: nacos,zk
orderService:
interface: org.dubbo.service.OrderService
\ No newline at end of file
diff --git a/config/testdata/config/provider/registry_application.yaml b/config/testdata/config/provider/registry_application.yaml
index dd08a0d..b00b854 100644
--- a/config/testdata/config/provider/registry_application.yaml
+++ b/config/testdata/config/provider/registry_application.yaml
@@ -4,10 +4,10 @@ dubbo:
timeout: 3s
address: naocs://127.0.0.1:8848
provider:
- registry: nacos
+ registries: nacos
services:
HelloService:
interface: org.dubbo.service.HelloService
- registry: nacos,zk
+ registries: nacos,zk
OrderService:
interface: org.dubbo.service.OrderService
\ No newline at end of file
diff --git a/config/testdata/consumer_config.yml b/config/testdata/consumer_config.yml
index c011c9e..118460b 100644
--- a/config/testdata/consumer_config.yml
+++ b/config/testdata/consumer_config.yml
@@ -33,7 +33,7 @@ registries :
references:
"UserProvider":
- registry: "hangzhouzk,shanghaizk"
+ registries: "hangzhouzk,shanghaizk"
filter: ""
protocol : "dubbo"
version: "1.0"
diff --git a/config/testdata/consumer_config_with_configcenter.yml b/config/testdata/consumer_config_with_configcenter.yml
index fe979da..f6352da 100644
--- a/config/testdata/consumer_config_with_configcenter.yml
+++ b/config/testdata/consumer_config_with_configcenter.yml
@@ -7,7 +7,7 @@ config_center:
address: "127.0.0.1"
references:
"UserProvider":
- registry: "hangzhouzk,shanghaizk"
+ registries: "hangzhouzk,shanghaizk"
filter: ""
protocol : "dubbo"
interface : "com.ikurento.user.UserProvider"
diff --git a/config/testdata/consumer_config_withoutProtocol.yml b/config/testdata/consumer_config_withoutProtocol.yml
index 6028a48..4efd21c 100644
--- a/config/testdata/consumer_config_withoutProtocol.yml
+++ b/config/testdata/consumer_config_withoutProtocol.yml
@@ -33,7 +33,7 @@ registries :
references:
"UserProvider":
- registry: "hangzhouzk,shanghaizk"
+ registries: "hangzhouzk,shanghaizk"
filter: ""
version: "1.0"
group: "as"
diff --git a/config/testdata/provider_config.yml b/config/testdata/provider_config.yml
index 3c081c0..10282db 100644
--- a/config/testdata/provider_config.yml
+++ b/config/testdata/provider_config.yml
@@ -27,7 +27,7 @@ registries :
services:
"UserProvider":
- registry: "hangzhouzk,shanghaizk"
+ registries: "hangzhouzk,shanghaizk"
filter: ""
# the name of limiter
tps.limiter: "default"
diff --git a/config/testdata/provider_config_withoutProtocol.yml b/config/testdata/provider_config_withoutProtocol.yml
index 651c2f4..1636b0c 100644
--- a/config/testdata/provider_config_withoutProtocol.yml
+++ b/config/testdata/provider_config_withoutProtocol.yml
@@ -27,7 +27,7 @@ registries :
services:
"UserProvider":
- registry: "hangzhouzk,shanghaizk"
+ registries: "hangzhouzk,shanghaizk"
filter: ""
# equivalent to interface of dubbo.xml
interface : "com.ikurento.user.UserProvider"
diff --git a/metadata/service/exporter/configurable/exporter_test.go b/metadata/service/exporter/configurable/exporter_test.go
index 7afaef6..3ec072c 100644
--- a/metadata/service/exporter/configurable/exporter_test.go
+++ b/metadata/service/exporter/configurable/exporter_test.go
@@ -70,7 +70,7 @@ func TestConfigurableExporter(t *testing.T) {
assert.Equal(t, false, exported.IsExported())
assert.NoError(t, exported.Export(registryURL))
assert.Equal(t, true, exported.IsExported())
- assert.Regexp(t, "dubbo://127.0.0.1:20005/org.apache.dubbo.metadata.MetadataService*", exported.GetExportedURLs()[0].String())
+ assert.Regexp(t, "dubbo://:20005/org.apache.dubbo.metadata.MetadataService*", exported.GetExportedURLs()[0].String())
exported.Unexport()
assert.Equal(t, false, exported.IsExported())
})