This is an automated email from the ASF dual-hosted git repository. xinminghe pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo-go.git
commit 69bc3df31e04a4fefc3a2a169c0f0bc37c79fda3 Merge: 111e58c e5d1247 Author: vito.he <hxm...@163.com> AuthorDate: Wed Sep 11 18:54:18 2019 +0800 Mod: merge conflict resolve .gitignore | 10 +- CHANGE.md | 26 ++ LICENSE | 1 - cluster/cluster_impl/failback_cluster_invoker.go | 12 +- cluster/cluster_impl/failover_cluster_invoker.go | 18 +- cluster/cluster_impl/failover_cluster_test.go | 8 +- cluster/loadbalance/least_active.go | 1 - cluster/loadbalance/round_robin_test.go | 17 + common/constant/default.go | 16 +- common/extension/router_factory.go | 17 + common/proxy/proxy_factory/default.go | 94 +++++- common/url.go | 4 + config/base_config_test.go | 20 +- config/consumer_config.go | 1 + config/method_config.go | 2 +- config/provider_config.go | 1 + config/reference_config.go | 6 +- config/reference_config_test.go | 9 +- config/service_config.go | 6 +- config/service_config_test.go | 6 +- config/testdata/consumer_config.yml | 2 +- .../testdata/consumer_config_with_configcenter.yml | 2 +- config_center/configuration_parser.go | 18 ++ config_center/configuration_parser_test.go | 18 ++ .../with-configcenter-go-client/app/client.go | 2 +- .../profiles/dev/client.yml | 2 +- .../profiles/release/client.yml | 2 +- .../profiles/test/client.yml | 2 +- .../with-configcenter-go-server/app/server.go | 2 +- .../profiles/dev/server.yml | 2 +- .../profiles/release/server.yml | 2 +- .../profiles/test/server.yml | 2 +- .../with-configcenter-go-client/app/client.go | 2 +- .../with-configcenter-go-server/app/server.go | 2 +- examples/consul/README.md | 44 +++ .../app/server.go => consul/go-client/client.go} | 52 +--- .../dev => consul/go-client/config}/client.yml | 35 +-- examples/consul/go-client/config/log.yml | 28 ++ .../consul/go-client/service.go | 28 +- examples/consul/go-server/config/log.yml | 28 ++ .../dev => consul/go-server/config}/server.yml | 35 +-- .../go-server/app => consul/go-server}/server.go | 19 +- .../consul/go-server/service.go | 28 +- examples/consul/java-client/.gitignore | 7 + examples/consul/java-client/pom.xml | 88 ++++++ .../src/main/java/dubbo/DubboService.java | 60 ++-- .../src/main/java/dubbo/client/Main.java | 43 +++ .../src/main/resources/log4j.properties | 4 + examples/consul/java-server/.gitignore | 7 + examples/consul/java-server/pom.xml | 89 ++++++ .../src/main/java/dubbo/DubboService.java | 5 + .../java/dubbo/server/Impl/DubboServiceImpl.java | 11 + .../src/main/java/dubbo/server/Main.java | 53 ++++ .../src/main/resources/log4j.properties | 4 + examples/general/dubbo/go-client/app/client.go | 30 +- .../dubbo/go-client/profiles/dev/client.yml | 6 +- .../dubbo/go-client/profiles/release/client.yml | 6 +- .../dubbo/go-client/profiles/test/client.yml | 6 +- examples/general/dubbo/go-server/app/server.go | 2 +- .../dubbo/go-server/profiles/dev/server.yml | 6 +- .../dubbo/go-server/profiles/release/server.yml | 6 +- .../dubbo/go-server/profiles/test/server.yml | 6 +- .../main/java/com/ikurento/user/UserProvider.java | 1 + .../resources/META-INF/spring/dubbo.consumer.xml | 2 + .../src/main/resources/META-INF/spring/service.xml | 1 + examples/general/dubbo/java-server/pom.xml | 1 - .../java/com/ikurento/user/UserProviderImpl.java | 1 - examples/general/jsonrpc/go-client/app/client.go | 2 +- .../jsonrpc/go-client/profiles/dev/client.yml | 6 +- examples/general/jsonrpc/go-server/app/server.go | 2 +- .../jsonrpc/go-server/profiles/dev/server.yml | 6 +- examples/generic/go-client/app/client.go | 4 - examples/generic/go-client/app/user.go | 17 - examples/generic/go-client/assembly/bin/load.sh | 1 - .../go-client/assembly/common/app.properties | 1 + .../generic/go-client/assembly/common/build.sh | 1 + examples/generic/go-client/assembly/linux/dev.sh | 1 - examples/generic/go-client/assembly/mac/dev.sh | 1 - examples/generic/go-client/assembly/mac/test.sh | 1 + examples/generic/java-server/script/debug.sh | 1 - .../resources/META-INF/spring/dubbo.provider.xml | 1 + .../dubbo/go-client/assembly/bin/load.sh | 1 - .../dubbo/go-client/assembly/common/app.properties | 1 + .../dubbo/go-client/assembly/common/build.sh | 1 + .../dubbo/go-client/assembly/linux/release.sh | 1 - .../dubbo/go-client/assembly/linux/test.sh | 1 - .../dubbo/go-client/profiles/dev/client.yml | 2 +- examples/helloworld/dubbo/go-server/app/server.go | 2 +- .../dubbo/go-server/assembly/bin/load.sh | 1 - .../dubbo/go-server/profiles/dev/server.yml | 2 +- .../java-server/src/main/assembly/assembly.xml | 1 + .../resources/META-INF/spring/dubbo.provider.xml | 1 + .../dubbo/with-hystrix-go-client/app/client.go} | 86 ++--- .../app/example_fallback_filter.go | 80 +++++ .../dubbo/with-hystrix-go-client/app/user.go | 149 +++++++++ .../dubbo/with-hystrix-go-client/app/version.go | 24 +- .../with-hystrix-go-client}/assembly/bin/load.sh | 0 .../assembly/common/app.properties | 0 .../assembly/common/build.sh | 0 .../with-hystrix-go-client}/assembly/linux/dev.sh | 0 .../assembly/linux/release.sh | 0 .../with-hystrix-go-client}/assembly/linux/test.sh | 0 .../with-hystrix-go-client}/assembly/mac/dev.sh | 0 .../assembly/mac}/release.sh | 3 +- .../with-hystrix-go-client}/assembly/mac/test.sh | 0 .../assembly/windows}/dev.sh | 2 - .../assembly/windows}/release.sh | 3 +- .../assembly/windows}/test.sh | 3 +- .../profiles/dev}/client.yml | 57 ++-- .../with-hystrix-go-client/profiles/dev/log.yml | 28 ++ .../profiles/release/client.yml | 53 ++-- .../profiles/release/log.yml | 28 ++ .../profiles/test}/client.yml | 56 ++-- .../with-hystrix-go-client/profiles/test/log.yml | 28 ++ filter/impl/active_filter.go | 1 - filter/impl/echo_filter.go | 3 +- filter/impl/generic_filter.go | 18 +- filter/impl/generic_filter_test.go | 32 ++ filter/impl/hystrix_filter.go | 269 ++++++++++++++++ filter/impl/hystrix_filter_test.go | 217 +++++++++++++ go.mod | 9 +- go.sum | 346 ++++++++++++++++++++- protocol/dubbo/client.go | 65 ++-- protocol/dubbo/client_test.go | 40 ++- protocol/dubbo/codec.go | 12 +- protocol/dubbo/codec_test.go | 4 +- protocol/dubbo/dubbo_invoker.go | 10 +- protocol/dubbo/dubbo_invoker_test.go | 7 +- protocol/dubbo/dubbo_protocol.go | 5 +- protocol/dubbo/dubbo_protocol_test.go | 2 +- protocol/dubbo/listener.go | 132 ++------ protocol/dubbo/pool.go | 70 +++-- protocol/dubbo/readwriter.go | 18 +- protocol/jsonrpc/http_test.go | 5 +- protocol/jsonrpc/jsonrpc_invoker_test.go | 5 +- protocol/jsonrpc/server.go | 105 +------ .../protocol_filter_wrapper_test.go | 34 +- protocol/{RpcStatus.go => rpc_status.go} | 1 - registry/consul/listener.go | 206 ++++++++++++ .../consul/listener_test.go | 27 +- registry/consul/registry.go | 143 +++++++++ registry/consul/registry_test.go | 57 ++++ registry/consul/utils.go | 114 +++++++ registry/consul/utils_test.go | 226 ++++++++++++++ registry/directory/directory.go | 6 +- registry/nacos/listener.go | 2 +- registry/protocol/protocol.go | 14 +- registry/zookeeper/listener_test.go | 22 +- remoting/etcdv3/listener.go | 2 +- remoting/listener.go | 2 +- remoting/zookeeper/listener.go | 34 +- 151 files changed, 3220 insertions(+), 781 deletions(-) diff --cc protocol/dubbo/readwriter.go index 137f3d4,eb5cbe7..a57c29f --- a/protocol/dubbo/readwriter.go +++ b/protocol/dubbo/readwriter.go @@@ -138,18 -138,14 +138,18 @@@ func (p *RpcServerPackageHandler) Read( args = req[5].([]interface{}) } if req[6] != nil { - attachments = req[6].(map[interface{}]interface{}) + attachments = req[6].(map[string]string) } - if pkg.Service.Path == "" && attachments[constant.PATH_KEY] != nil { - pkg.Service.Path = attachments[constant.PATH_KEY].(string) - pkg.Service.Interface = attachments[constant.INTERFACE_KEY] - if len(pkg.Service.Path) == 0 && len(attachments[constant.PATH_KEY]) != 0 { ++ if pkg.Service.Path == "" && len(attachments[constant.PATH_KEY]) > 0 { + pkg.Service.Path = attachments[constant.PATH_KEY] } - if len(attachments[constant.GROUP_KEY]) != 0 { + if _, ok := attachments[constant.INTERFACE_KEY]; ok { - pkg.Service.Interface = attachments[constant.INTERFACE_KEY].(string) ++ pkg.Service.Interface = attachments[constant.INTERFACE_KEY] + } else { + pkg.Service.Interface = pkg.Service.Path + } - if attachments[constant.GROUP_KEY] != nil { - pkg.Service.Group = attachments[constant.GROUP_KEY].(string) ++ if len(attachments[constant.GROUP_KEY]) > 0 { + pkg.Service.Group = attachments[constant.GROUP_KEY] } pkg.Body = map[string]interface{}{ "dubboVersion": dubboVersion,