This is an automated email from the ASF dual-hosted git repository. liujun pushed a commit to branch feature-triple in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
commit 4e100df7fa23d646f1e446b84b5f16571a22a75d Merge: 1444a5289 53843b749 Author: chickenlj <ken.lj...@gmail.com> AuthorDate: Wed Nov 8 16:39:57 2023 +0800 Merge branch 'main' into feature-triple .github/workflows/github-actions.yml | 10 +- cluster/cluster/adaptivesvc/cluster_invoker.go | 2 - cluster/directory/base/directory.go | 14 +-- cluster/directory/directory.go | 6 +- cluster/directory/static/directory.go | 12 ++- cluster/router/condition/dynamic_router.go | 3 +- cluster/router/tag/match.go | 33 +++++-- common/constant/cluster.go | 5 + common/extension/registry_directory.go | 31 +++++- common/host_util.go | 26 +++++ common/match.go | 105 +++++++++++++++++++++ common/url.go | 14 ++- config/instance/metadata_report_test.go | 5 + config/metric_config.go | 23 ++--- config/metric_config_test.go | 2 - config/router_config.go | 6 +- config_center/configurator/override.go | 89 ++++++++++------- config_center/mock_dynamic_config.go | 7 +- config_center/parser/configuration_parser.go | 35 +++++++ go.mod | 1 + go.sum | 3 +- imports/imports.go | 1 + integrate_test.sh | 21 ++--- metadata/mapping/metadata/service_name_mapping.go | 12 +-- metadata/report/delegate/delegate_report.go | 6 ++ metadata/report/etcd/report.go | 5 + metadata/report/nacos/report.go | 62 ++++++++++-- metadata/report/report.go | 2 + metadata/report/zookeeper/listener.go | 100 ++++++++++++++++++++ metadata/report/zookeeper/report.go | 58 +++++++++++- .../local/metadata_service_proxy_factory.go | 2 +- metadata/service/local/service_proxy.go | 6 +- metadata/service/local_service.go | 2 +- metadata/service/remote/service_test.go | 5 + protocol/jsonrpc/server.go | 4 +- registry/base_configuration_listener.go | 4 +- registry/base_registry.go | 28 +----- registry/directory/directory.go | 103 ++++++++++++++++++-- registry/nacos/service_discovery_test.go | 2 +- registry/protocol/protocol.go | 16 +--- registry/protocol/protocol_test.go | 2 + .../servicediscovery/service_discovery_registry.go | 56 ++++------- .../service_instances_changed_listener_impl.go | 42 +++++++-- .../service_mapping_change_listener_impl.go | 10 ++ registry/zookeeper/listener.go | 2 +- registry/zookeeper/registry.go | 22 ++--- remoting/nacos/builder.go | 2 +- remoting/zookeeper/listener.go | 30 ++++-- 48 files changed, 793 insertions(+), 244 deletions(-) diff --cc common/url.go index cd551c2f9,a07f87c3b..7ec0a108d --- a/common/url.go +++ b/common/url.go @@@ -114,10 -114,20 +114,22 @@@ type URL struct Username string Password string Methods []string + // Attributes should not be transported + Attributes map[string]interface{} `hessian:"-"` // special for registry - SubURL *URL + SubURL *URL + attributes sync.Map + } + + func (c *URL) AddAttribute(key string, value interface{}) { + if value != nil { + c.attributes.Store(key, value) + } + } + + func (c *URL) GetAttribute(key string) interface{} { + v, _ := c.attributes.Load(key) + return v } // JavaClassName POJO for URL diff --cc imports/imports.go index 54c6ca565,63f5541b1..48c58cb2d --- a/imports/imports.go +++ b/imports/imports.go @@@ -75,9 -76,8 +75,10 @@@ import _ "dubbo.apache.org/dubbo-go/v3/protocol/grpc" _ "dubbo.apache.org/dubbo-go/v3/protocol/jsonrpc" _ "dubbo.apache.org/dubbo-go/v3/protocol/rest" + _ "dubbo.apache.org/dubbo-go/v3/protocol/triple" + _ "dubbo.apache.org/dubbo-go/v3/protocol/triple/health" _ "dubbo.apache.org/dubbo-go/v3/proxy/proxy_factory" + _ "dubbo.apache.org/dubbo-go/v3/registry/directory" _ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3" _ "dubbo.apache.org/dubbo-go/v3/registry/nacos" _ "dubbo.apache.org/dubbo-go/v3/registry/polaris" diff --cc registry/protocol/protocol.go index bc5a23905,eeb287048..bba36151f --- a/registry/protocol/protocol.go +++ b/registry/protocol/protocol.go @@@ -39,9 -39,9 +39,8 @@@ import "dubbo.apache.org/dubbo-go/v3/config_center" _ "dubbo.apache.org/dubbo-go/v3/config_center/configurator" "dubbo.apache.org/dubbo-go/v3/protocol" - "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3/health" "dubbo.apache.org/dubbo-go/v3/protocol/protocolwrapper" "dubbo.apache.org/dubbo-go/v3/registry" - "dubbo.apache.org/dubbo-go/v3/registry/directory" "dubbo.apache.org/dubbo-go/v3/remoting" )