From d01b5ee8ac96fb6d0303a2fe9920d7634fb09a0a Mon Sep 17 00:00:00 2001 From: Patrick <dreamlike.sky@foxmail.com> Date: Fri, 10 Jan 2020 10:06:53 +0800 Subject: [PATCH] When protocol config don't have right config, remind user to check warning. --- config/service_config.go | 8 ++++++-- config/service_config_test.go | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/config/service_config.go b/config/service_config.go index c17846322..a2ed13966 100644 --- a/config/service_config.go +++ b/config/service_config.go @@ -117,8 +117,12 @@ func (srvconfig *ServiceConfig) Export() error { regUrls := loadRegistries(srvconfig.Registry, providerConfig.Registries, common.PROVIDER) urlMap := srvconfig.getUrlMap() - - for _, proto := range loadProtocol(srvconfig.Protocol, providerConfig.Protocols) { + protocolConfigs := loadProtocol(srvconfig.Protocol, providerConfig.Protocols) + if len(protocolConfigs) == 0 { + logger.Warnf("The service %v's '%v' protocols don't has right protocolConfigs ", srvconfig.InterfaceName, srvconfig.Protocol) + return nil + } + for _, proto := range protocolConfigs { // registry the service reflect methods, err := common.ServiceMap.Register(proto.Name, srvconfig.rpcService) if err != nil { diff --git a/config/service_config_test.go b/config/service_config_test.go index 8ae67533b..6f3230890 100644 --- a/config/service_config_test.go +++ b/config/service_config_test.go @@ -93,6 +93,30 @@ func doInitProvider() { }, }, }, + "MockServiceNoRightProtocol": { + InterfaceName: "com.MockService", + Protocol: "mock1", + Registry: "shanghai_reg1,shanghai_reg2,hangzhou_reg1,hangzhou_reg2", + Cluster: "failover", + Loadbalance: "random", + Retries: "3", + Group: "huadong_idc", + Version: "1.0.0", + Methods: []*MethodConfig{ + { + Name: "GetUser", + Retries: "2", + Loadbalance: "random", + Weight: 200, + }, + { + Name: "GetUser1", + Retries: "2", + Loadbalance: "random", + Weight: 200, + }, + }, + }, }, Protocols: map[string]*ProtocolConfig{ "mock": { -- GitLab