diff --git a/config/support/config_loader.go b/config/support/config_loader.go index 0f21f643531b5917b19a21535849b67456d3ae35..88f37f55e1855b9590a1aa21d6ecc6e91b539f76 100644 --- a/config/support/config_loader.go +++ b/config/support/config_loader.go @@ -219,8 +219,8 @@ func Load() (map[string]*ReferenceConfig, map[string]*ServiceConfig) { length := len(consumerConfig.References) for index := 0; index < length; index++ { con := &consumerConfig.References[index] - con.Implement(conServices[con.InterfaceName]) con.Refer() + con.Implement(conServices[con.InterfaceName]) refMap[con.InterfaceName] = con } } diff --git a/registry/protocol/protocol.go b/registry/protocol/protocol.go index 48eb62fb13415ef7282d454cefb54fc94f87179a..80b0c63c248463e9d8634fd45a3b8eb91fffc4c9 100644 --- a/registry/protocol/protocol.go +++ b/registry/protocol/protocol.go @@ -1,7 +1,6 @@ package protocol import ( - "github.com/dubbo/dubbo-go/protocol/protocolwrapper" "sync" ) @@ -14,6 +13,7 @@ import ( "github.com/dubbo/dubbo-go/common/extension" "github.com/dubbo/dubbo-go/config" "github.com/dubbo/dubbo-go/protocol" + "github.com/dubbo/dubbo-go/protocol/protocolwrapper" "github.com/dubbo/dubbo-go/registry" directory2 "github.com/dubbo/dubbo-go/registry/directory" ) @@ -46,10 +46,14 @@ func getRegistry(regUrl *config.URL) registry.Registry { } return reg } -func (protocol *RegistryProtocol) Refer(url config.URL) protocol.Invoker { +func (proto *RegistryProtocol) Refer(url config.URL) protocol.Invoker { var regUrl = url var serviceUrl = regUrl.SubURL + if regUrl.Protocol == constant.REGISTRY_PROTOCOL { + protocol := regUrl.GetParam(constant.REGISTRY_KEY, "") + regUrl.Protocol = protocol + } reg := getRegistry(®Url) //new registry directory for store service url from registry @@ -96,7 +100,7 @@ func (*RegistryProtocol) getRegistryUrl(invoker protocol.Invoker) config.URL { url := invoker.GetUrl() //if the protocol == registry ,set protocol the registry value in url.params if url.Protocol == constant.REGISTRY_PROTOCOL { - protocol := url.GetParam(constant.REGISTRY_KEY, constant.DEFAULT_PROTOCOL) + protocol := url.GetParam(constant.REGISTRY_KEY, "") url.Protocol = protocol } return url