From ce5751ba6d14252c19feefd1f9f106a2d08cfca7 Mon Sep 17 00:00:00 2001 From: Patrick <dreamlike.sky@foxmail.com> Date: Mon, 17 Aug 2020 01:02:37 +0800 Subject: [PATCH] when don't has metadataService ignore this error --- common/extension/metadata_service.go | 7 +++++-- config/config_loader.go | 7 +++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/common/extension/metadata_service.go b/common/extension/metadata_service.go index 1823273b8..e35677d14 100644 --- a/common/extension/metadata_service.go +++ b/common/extension/metadata_service.go @@ -21,6 +21,10 @@ import ( "fmt" ) +import ( + perrors "github.com/pkg/errors" +) + import ( "github.com/apache/dubbo-go/metadata/service" ) @@ -36,12 +40,11 @@ func SetMetadataService(msType string, creator func() (service.MetadataService, } // GetMetadataService will create a MetadataService instance -// it will panic if msType not found func GetMetadataService(msType string) (service.MetadataService, error) { if creator, ok := metadataServiceInsMap[msType]; ok { return creator() } - panic(fmt.Sprintf("could not find the metadata service creator for metadataType: %s, please check whether you have imported relative packages, \n"+ + return nil, perrors.New(fmt.Sprintf("could not find the metadata service creator for metadataType: %s, please check whether you have imported relative packages, \n"+ "local - github.com/apache/dubbo-go/metadata/service/inmemory, \n"+ "remote - github.com/apache/dubbo-go/metadata/service/remote", msType)) } diff --git a/config/config_loader.go b/config/config_loader.go index f7703e539..ec935346f 100644 --- a/config/config_loader.go +++ b/config/config_loader.go @@ -277,7 +277,8 @@ func selectMetadataServiceExportedURL() *common.URL { var selectedUrl common.URL metaDataService, err := extension.GetMetadataService(GetApplicationConfig().MetadataType) if err != nil { - panic(err) + logger.Warn(err) + return nil } list, err := metaDataService.GetExportedURLs(constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE, constant.ANY_VALUE) if err != nil { @@ -292,12 +293,10 @@ func selectMetadataServiceExportedURL() *common.URL { logger.Errorf("url format error {%v}", url) continue } + selectedUrl = url // rest first if url.Protocol == "rest" { - selectedUrl = url break - } else { - selectedUrl = url } } return &selectedUrl -- GitLab