AlexStocks commented on a change in pull request #1161:
URL: https://github.com/apache/dubbo-go/pull/1161#discussion_r615304096
##########
File path: common/extension/metadata_service.go
##########
@@ -26,42 +26,27 @@ import (
)
import (
- "github.com/apache/dubbo-go/common/logger"
+ "github.com/apache/dubbo-go/common/constant"
"github.com/apache/dubbo-go/metadata/service"
)
var (
- // there will be two types: local or remote
metadataServiceInsMap = make(map[string]func()
(service.MetadataService, error), 2)
- // remoteMetadataService
- remoteMetadataService service.MetadataService
)
-// SetMetadataService will store the msType => creator pair
-func SetMetadataService(msType string, creator func()
(service.MetadataService, error)) {
- metadataServiceInsMap[msType] = creator
+// SetLocalMetadataService will store the msType => creator pair
+func SetLocalMetadataService(key string, creator func()
(service.MetadataService, error)) {
+ metadataServiceInsMap[key] = creator
}
-// GetMetadataService will create a MetadataService instance
-func GetMetadataService(msType string) (service.MetadataService, error) {
- if creator, ok := metadataServiceInsMap[msType]; ok {
- return creator()
+// GetMetadataService will create a inmemory MetadataService instance
+func GetLocalMetadataService(key string) (service.MetadataService, error) {
+ if key == "" {
+ key = constant.DEFAULT_KEY
}
- 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))
-}
-
-// GetRemoteMetadataService will get a RemoteMetadataService instance
-func GetRemoteMetadataService() (service.MetadataService, error) {
- if remoteMetadataService != nil {
- return remoteMetadataService, nil
- }
- if creator, ok := metadataServiceInsMap["remote"]; ok {
- var err error
- remoteMetadataService, err = creator()
- return remoteMetadataService, err
+ if creator, ok := metadataServiceInsMap[key]; ok {
Review comment:
this func name is GetLocalMetadataService. However, how do u distinguish
the metadata service type in metadataServiceInsMap?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]