You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by zh...@apache.org on 2021/09/04 15:57:54 UTC
[dubbo-go-samples] branch config-enhance updated (18ecfaf ->
7dfa08b)
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a change to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git.
omit 18ecfaf fix: triple attachment ci (#221)
omit b6a6e75 Config enhance rpc dubbo (#213)
omit 30efb4c Feat/nacos registry (#217)
omit 7119c9e Ftr/direct samples (#216)
omit cee9d7d Ftr: support new integrate_test in new dubbo samples (#215)
omit 252c76e Add apollo config center sample (#208)
omit 641240c update nacos samples config (#205)
omit 6746491 add triple msgpack sample (#212)
omit b34d815 update triple user api to standard, add hessian2 samples (#211)
omit 2c2c0c4 Add some samples (#204)
omit 21b18de Config enhance v3 (#203)
omit a3d52ff Merge pull request #190 from zhaoyunxing92/config-enhance
omit 009fc77 add:zk registry
omit 43b23b4 fix: init new config
omit dc4fd76 Ftr: Generic invocation supports generalizer.Generalizer (#170)
omit 242b869 add multi-zone run/debug configuration (#181)
omit de22699 Fix: fix 3.0 branch game integrate error & delete useless file (#185)
omit 52b8c28 change the wrong comment
omit 3e24f59 Ftr: 3.0 lumberjack log sample (#179)
omit 6120585 update howto doc (#177)
omit 48c218e Fix: delete useless & wrong xml files in .run folder (#173)
omit 7ac498f fix: add chain middle wait time
omit 6ca280f fix: add waiter after middle start
omit ec8ae68 fix: fix chan middle waiter
omit 8f94478 fix: add chan zk waiter
omit 49dc917 docker Waiter for all samples (#176)
omit 167afb3 Mod: modify import blocks for branch 3.0 (#167)
omit 37c4cfa fix (#175)
omit cdda6fc Fix: multi-zone imports (#172)
omit 0a1f5a4 Feature/etcd service discovery (#164)
omit cca4102 Tracing integration new (#163)
omit 6ff8949 Ftr: Add integration test multi-server support (#161)
omit c875ae7 fix: fix dynamic naming mapping of app level service disc (#155)
omit 7e51e8a Revert "add tracing integration test (#156)" (#162)
omit 7c8fc1c add tracing integration test (#156)
omit 8534c34 fix: delete unused
omit beb3c69 fix: java demo
omit 6355b5b Rft: Metadata service (#157)
omit 1bc04f1 hessian.RegisterPOJO(&pkg.User{}) 重复调用 (#154)
omit 2b0b10b add service discovery .run (#151)
omit a1da198 fix: fix side effect (#147)
omit fbabb97 add filter to test/client.yml (#146)
omit 9d28e97 add .run xml for goland to quick start (#129)
omit d113ee8 Fix: seata panic , attachment to AttachmentKey (#148)
omit 384c872 fix(tracing): add StartSpanFromContext to jaeger test case & fix some error (#145)
omit a3cba30 fix: fix multi registry integrate test (#144)
omit 5f7fd09 Merge pull request #142 from zhaoyunxing92/seata
omit abfa055 fmt file
omit c11251c add seata run
omit 1fa60b6 fix: add 3.0 test (#141)
omit 4aa783b fix: update dubbogo version and integrate test
omit 86137ea Fix: change 3.0 streaming test and samples to reactive (#140)
omit defcc32 add triple integration test (#139)
omit f7fa507 Tst: add router to integration and fix hessian2 sample (#124)
omit c1dd832 mod jsonrpc catalogue (#126)
omit da8780a Ftr/3.0msgpack and triple codec extension samples (#138)
omit 848b52b application service discovery nacos reporter example (#123)
omit 0cbbc12 update dubbo-go version (#137)
omit 508450c fix: 3.0 triple/grpc provider generated reference function by proto-gen-dubbo (#128)
omit c593b46 Dep: Rename import name for remotingMetadataService (#132)
omit 0204aa8 bump dubbo-go version (#131)
omit a06e170 Ftr: Tengine Calls Dubbo-go Example (#122)
omit e6ea018 fix: updata go get dubbo-gen script (#105)
omit 30a4239 add etcd integrate test (#107)
omit 480e220 Merge pull request #106 from ztelur/3.0
omit 2da1d0f improve etcd version
omit 0eee127 3.0test (#102)
omit 0391ea1 fix: add service-disc zk client .run
omit 3a17ab1 Ftr/dubbo3 (#81)
omit ad54376 Merge pull request #84 from horizonzy/fix-directory-problem
omit fcabfc7 fix directory problem.
omit a9611d5 Merge pull request #80 from apache/fix/Id
omit 867e84a Id -> ID
omit 09fe57d Merge pull request #79 from zfkun/game
omit fd8dba7 add:game samples
omit 091a70a Merge pull request #68 from cjphaha/tls
omit 96a7667 Merge pull request #78 from xiaoliu10/fix_zk_configcenter
omit 26ee38d Merge pull request #77 from zhaoyunxing92/generic
omit 903836b 1. fix zk configcenter can not found zk node
omit f710bd4 up:mv it to the 3rd import block
omit 72d67bc up:mv it to the 3rd import block
omit 529412a add:generic samples
omit 6915bbb mod Id to ID
omit f09c490 del blank line go-server/pkg/user.go
omit 02a9c8c Merge pull request #70 from milerL/nacos
omit 5565f5c Merge pull request #75 from zhaoyunxing92/multi-registry
omit 4a7e053 up:语法问题
omit 4b1439a up:更新导报问题
omit f7604ca add:multi registry
omit 800b322 Merge pull request #73 from xiaoliu10/upgrade_seata_version
omit 3e892e3 mod refmt go-client/pkg/user
omit 6cc79ea mod problems in pr
omit 7d40940 Merge pull request #72 from beiwei30/hello-world
omit 07edb96 Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
omit d9304c9 Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
omit 0ab36fc fix: issue#71
omit 76f2b1c 修改:修复registry/nacos示例无法正常使用的问题,调整client.yml和server.yml方便阅读
omit ac38818 adjust import sequence in nacos
omit 7f64aed add apache license & mod folder
omit 84c0a7e add tls sample
omit 101f7e9 Merge pull request #52 from yakecanlee/feature/add-sample
omit 1fca0de fix helloworld sample
omit bacaeed fix error imports
omit 49f45a6 fix helloworld java sample
omit 8ec9fbe adjust imports and readme
omit 0f65d0b group the imports
omit aeab8f8 add readme_zh for samples
omit 38ed266 add run configuration for samples
omit 33eafbe add readme and run configuration for rest sample
omit 8863839 add readme for group
omit 71cf228 add readme for generic and helloworld
omit a804655 Merge pull request #62 from beiwei30/configcenter
omit 12a139c fix: regroup import for nacos configcenter
omit 502c238 fix: regroup imports
omit e5999a2 Merge pull request #66 from beiwei30/filter
omit ae3feca Merge pull request #64 from beiwei30/docker
omit 219ffe3 Merge pull request #63 from beiwei30/direct
omit d75c0be enable IT for configcenter/zookeeper and filter/sentinel
omit aacfd85 fix: make integration test work for custom filter, correct dir
omit a01ac0a fix: README for filter samples
omit cf6167f fix: revise README
omit b620ba6 fix: group import, add run files
omit 6113e69 fix: add run configs for docker
omit f9e711f fix: regroup import
omit ec9f630 fix: regroup imports
omit 7df670e configcenter readme, import and run files
omit b970ee8 Merge pull request #57 from beiwei30/config-api
omit a300659 Merge pull request #61 from zhaoyunxing92/master
omit 42fa80e up:调整import顺序
omit e575e56 Merge pull request #59 from PhilYue/feature/direct/readme
omit a25270e 修复语法错误
omit b004549 add:metric readme
omit 41d83f4 Add: fix the .run for direct
omit 80d6086 Add: .run for direct
omit 47c5008 Doc: improving README and README_zh
omit 176cbe4 Mod: clear out the unneeded config
omit f7bd0b1 Merge pull request #55 from beiwei30/async
omit 9806c48 Merge pull request #58 from beiwei30/context
omit bb4b680 Doc: formatting docs of README_zh
omit 2f4856d optmize imports
omit c5d7635 optimize imports
omit a17295c Doc: formatting docs of README and cleaning
omit 4bfdc91 Doc: formatting docs of README
omit 28f6443 Doc: improving docs of README
omit 207264e Doc: adding direct README_zh and cleaning
omit ca13cd8 fix: regroup import
omit 302ab73 add:metric文档
omit ca1e14b feat: add run configs, and regroup import
omit 195b985 fix: regroup imports
omit 7f05bde fix: add run configs, bump up dubbo-go version, revise README
omit d7687f2 Doc: adding direct README
omit 97e33bb Merge pull request #4 from apache/master
omit 52644af Merge pull request #53 from zhaoyunxing92/master
omit 58e82e7 add README
omit eb2e0ee Merge pull request #3 from apache/master
omit 566af02 add run configurations and fix client issue.
omit 725de98 Merge pull request #54 from beiwei30/chain
omit ae86a09 group var declaration
omit 58c828b optimize imports
omit 2525e05 add apache license header
omit d2bf83e add "chain" example
omit cb325dd Merge pull request #2 from apache/master
omit b393262 add:metric文档
omit df451eb Merge pull request #51 from LaurenceLiZhixin/fix/etcd
omit cb3b01b Merge pull request #49 from lauyang/patch-2
omit a594672 fix: add provide_by
omit c6e5758 Update README_zh.md
omit 6be9874 Merge pull request #48 from dk-lockdown/master
omit 497cc48 upgrade seata-golang version
omit bb7a0d6 Merge pull request #43 from LaurenceLiZhixin/ftr/docker
omit 4b3fb3b Merge pull request #44 from LaurenceLiZhixin/ftr/config-api
omit 2b4f2ac Merge pull request #45 from LaurenceLiZhixin/fix/consul-readme
omit fe189cd Merge pull request #46 from LaurenceLiZhixin/ftr/context
omit dedc754 fix: add consul readme
omit a3d14e6 fix: add zh readme
omit 0b01f9d fix: add zh readme
omit 6632817 fix: add cn readme
omit 5c609cb Merge pull request #47 from cityiron/1.5.6-test
omit e614f74 update dubbogo to 1.5 latest commit
omit 92e0a93 ftr: context sample
omit ae13df4 fix: consul readme
omit c5b09e7 ftr:config api
omit f96fe82 ftr: add docker
omit 425b1a2 Merge pull request #41 from beiwei30/attachment-run-config
omit 224f018 Merge pull request #40 from beiwei30/translate
omit 5e69c94 provide run configuration for attachment sample
omit f19b59f provide HOWTO, and translate all docs into Chinese.
omit 91c2483 Merge pull request #39 from beiwei30/docs
omit 8f37179 enhance docs
omit 885db97 Merge pull request #38 from zhaoyunxing92/master
omit 6f5c173 add:.run file
omit 7bbd016 Merge pull request #37 from beiwei30/attachment
omit b5867ec add zh_CN README
omit f896ca7 comment sentinel tempararily
omit aef62db adjust sentinel version
omit 1b1db7b bump up sentinel-go version to v1.0.2
omit e452c22 add CI badge
omit 7257826 add attachment sample
omit 1e9b072 Merge branch '1.5.5'
omit de91c00 merge master
omit df07a3e merge master
omit 86a6f7b Merge pull request #24 from fangyincheng/fix-2.7
omit 329248b Merge pull request #32 from LaurenceLiZhixin/fix/grpcStreamBug
omit 5ac5646 Merge pull request #31 from louyuting/20201227-update-sentinel-go
omit 145b86c fix: fix dubbo grpc stream bug
omit 469fe78 upgrade sentinel go to 1.0.1
omit 49609b5 refact generic/java
omit ac5b159 resolve conflicts
omit a2ec4b1 Merge pull request #17 from apache/1.5.5
omit 0c6af36 update version for release
omit d439511 update version
omit c7048b9 update version
omit 7f02dae resolve conflicts
omit dd4be5b add java for general
omit 3e66db1 Merge pull request #27 from apache/fix_mod
omit ab98b4e resolve conflict
omit 8736511 fix: go mod tidy error
omit 95b1fae fix router problem
omit 740f2f7 Merge pull request #25 from georgehao/1.5.5
omit 37850bb Merge pull request #23 from cityiron/fix-sd-file
omit fa829be Merge branch '1.5.5' into 1.5.5-georgehao
omit 1b1fa1f Merge branch '1.5.5' into fix-sd-file
omit 2fd951f remove sd/consul
omit bb10e58 merge
omit 3274111 add provid_by
omit ed77fa5 feat: add registry/servicediscovery/etcd client.yaml add provide_by
omit 657cf27 modify consul demo to support makefile (#22)
omit 061030c test
omit dd84b14 Merge pull request #21 from LaurenceLiZhixin/1.5.5
omit 44bd9a5 Merge pull request #20 from cityiron/seata-sample
omit 398f653 fix: change pb.go
omit 9d10173 fix: use protobuf 1.3.2 to generate proper pb.go
omit de843d1 fix: re cicd
omit 92c0711 fix: dubbo-go repository path
omit 12e1125 add integrate
omit ff07427 change client name equals provider
omit 1d00fc6 remove seata mod
omit 7a992b8 Merge pull request #16 from pantianying/sentinel-filter
omit e8b3c67 fix: delete unused gosum
omit 0f66623 fix: change grpc and sentinel version
omit 5f5e8e7 fix bug
omit a735fdc add script on integrate
omit f53386f fix router case
omit 44fda64 seata sample run
omit a031c0f fix sd/zookeeper case
omit 83f126f Merge remote-tracking branch 'apache-dubbo-go-samples/1.5.5' into 1.5.5
omit 1680468 add sd/zookeeper case
omit cfd2c00 Update dubbo-go version
omit 1aa054f Update dubbo-go version
omit 0723cca fix test problem
omit dad13c6 update version num
omit f2c5cc5 update pkg
omit 498e589 Merge pull request #19 from mark4z/master
omit 8dea98d add sd/zookeeper case
omit 321a312 fix integration
omit 7db7587 fix integration
omit 70662bb Update dubbo-go version
omit b8c2ea5 Update dubbo-go version
omit d6ef2ef fix test problem
omit 6860d94 update version num
omit d419676 add integration test
omit 68f9cb6 add sentinel-filter sample
omit 1061538 Merge pull request #15 from zouyx/master
omit 69ee55b remove multi-registry case
omit 32974b3 remove router/tag case and fix zookeeper service discovery case
omit 4323b16 remove configcenter/zookeeper case
omit fca4c3c fix test problem
omit c6c8223 fix test problem
omit 19490a7 fix test problem
omit 700b171 fix test problem
omit 43bfcd5 add configcenter/zookeeper case
omit cc6e794 change log level
omit 8935e9f add more test case
omit 0ba46db update pkg
omit b1cc35c Merge pull request #13 from zouyx/master
omit 90d7aec change log level
omit ecb1e84 fix test problem
omit 23f4ccb remove test
omit e948015 change test method
omit 718b4f1 fix test problem
omit 1add7c8 add exit code for test
omit 6436108 add exit code for test
omit 6223164 Test return exit code when panic
omit a2ed46c Fix Makefile bug
omit 1882fd2 change stop to clean step
omit a9808d8 delete useless files
omit 9e52237 1.change log level for async dir 2.revert makefile
omit 7c52339 1.delete useless dir 2.add _ "github.com/apache/dubbo-go/metadata/service/inmemory" for all test dir 3.change log level to error
omit 2d36800 fix problems
omit eb0aecd add more test case
omit 2e433b3 add more test case
omit a7d4e82 add more test case
omit a333952 add more test case
omit 2533021 add more test case
omit 22493e1 add more test case
omit 0207628 update test case
omit 5d585d2 update test case
omit 08417eb fix problems
omit bf718cd fix problems
omit 027d614 add general test
omit e00e54e add general test
omit ac06aa4 Merge branch 'master-apache-dubbo-go-samples'
omit 19caad0 Merge branch 'master-apache-dubbo-go-samples'
omit 919222d fix problems
omit b902b00 Merge remote-tracking branch 'origin/master'
omit 4c0d8df Merge branch 'feature/addTravis'
omit ff7ed65 add github action
omit 7bf5670 Update blank.yml
omit d1e1b08 add github action
omit f385cbc add github action
omit 66eaa87 Create blank.yml
omit 904a232 Merge pull request #12 from zouyx/master
omit 2793183 fix bug
omit fd1ccfd fix problems
omit 795ef6c rename package
omit 92319db fix package problem
omit d7773ce add travis
omit 6a87059 make grpc work with integration test
omit db32d44 make general/dubbo work with integration test
omit eca144a make integration test work for router/condition
omit e11dab6 enhance makefile
omit 1eb5b31 enhance makefile to allow replace variables in conf yaml files.
omit 8630dff servicediscovery/zookeeper
omit 4e372b2 make registry/servicediscovery/nacos work with integration test
omit 9979a21 make registry/servicediscovery/file work with integration test
omit 4e25961 correct registry/servicediscovery/etcd
omit 218caa4 add a FIXME
omit e5909a9 refresh dubbo-go to snapshot, make servicediscovery/etcd works.
omit 4d34a4f make integration test works for registry/nacos
omit 33a0f2e make integration test work for registry/etcd
omit 5ce065e reformat helloworld
omit 339e5ff make integration test work for multi-registry
omit 208abb7 enhance makefile
omit c25e8aa rename dir
omit 104c314 make integration test work for metric and zone
omit 62b7282 fix PID
omit c666d1c Merge pull request #10 from zouyx/feature/fixAutoTest
omit 34dfe3d Merge pull request #9 from apache/tag_router
omit 6f8cda7 Fix: fmt codes
omit 84f4936 Fix: fmt codes
omit 7406106 Fix: lost a pkg in general
omit 953673d Add: tag router examples
omit ed3f3d1 Merge pull request #8 from zouyx/feature/fixAutoTest
omit 9607e80 change test steps
omit 33a5de3 change dir
omit ba5f0fd start integrate test
omit 25f33f8 remove problems code
omit f3de20f delete
omit 7b9e32f travis add Make
omit e0e2fbe make integration test works for metrics
omit 47811fd clean up useless code
omit 2142d1e make integration test works for filter/tpslimit
omit 5c07bf5 make integration test works for fiter/custom_filter
omit f19feed Merge pull request #7 from zhangshen023/consul_service_discovery
omit f2dfc66 make integration test work for configcenter/zookeeper
omit aeb1750 remove useless java dirs
omit 20e4f90 make integration test works for nacos
omit cdbddd8 clean up imports
omit a591c09 make integration test works for configcenter/apollo
omit e42f3d2 make integration test works for async
omit b1fa2c6 make integration test works for direct
omit b3fdafb make IT works for generic samples
omit f71bec1 code optimization
omit 3722ee2 format import
omit 1680a19 Merge pull request #3 from LaurenceLiZhixin/feat/grpc-stream-support
omit 680f884 fix:import block
omit 5536f32 consul service discovery sample
omit 0da9873 update README, remove 'dubbo' sub dir from 'helloworld'
omit 681e209 use makefile for helloworld client and server
omit 4f72d63 enhance config and package name
omit 7983c93 enhance makefile
omit 39f5571 integration test for helloworld service
omit 653c445 Merge pull request #5 from zouyx/feature/fixAutoTest
omit 15a68f6 enable issues
omit 28bb1f0 Merge pull request #4 from zouyx/feature/fixAutoTest
omit c8444c5 Create .asf.yaml
omit 7e1b8b1 feat: add grpc stream sample
omit eba7616 Merge pull request #2 from zouyx/feature/fixAutoTest
omit 744819c Merge pull request #1 from zouyx/feature/fixAutoTest
add 62367b3 Merge pull request #1 from zouyx/feature/fixAutoTest
add 327e16c Merge pull request #2 from zouyx/feature/fixAutoTest
add ca6e66c Create .asf.yaml
add adc5872 Merge pull request #4 from zouyx/feature/fixAutoTest
add 6250197 enable issues
add 285dc81 Merge pull request #5 from zouyx/feature/fixAutoTest
add 198faaf feat: add grpc stream sample
add 9b85b42 fix:import block
add befeee3 Merge pull request #3 from LaurenceLiZhixin/feat/grpc-stream-support
add 6a59417 format import
add da89cd8 consul service discovery sample
add a5d7cb8 code optimization
add e2a30f0 Merge pull request #7 from zhangshen023/consul_service_discovery
add d6bb136 fix bug
add 4b81bff integration test for helloworld service
add edf050e enhance makefile
add 58fb84b enhance config and package name
add 4346c49 use makefile for helloworld client and server
add ed46acc update README, remove 'dubbo' sub dir from 'helloworld'
add 2825696 make IT works for generic samples
add f61bb7f make integration test works for direct
add 6952ae2 make integration test works for async
add 807a28c make integration test works for configcenter/apollo
add 653871b clean up imports
add 2f08ee6 make integration test works for nacos
add 0b7b136 remove useless java dirs
add d68eaf6 make integration test work for configcenter/zookeeper
add c453c5e make integration test works for fiter/custom_filter
add ed55826 make integration test works for filter/tpslimit
add b6e8d28 clean up useless code
add 86f06e2 make integration test works for metrics
add 4656ad4 travis add Make
add e5449a1 delete
add 8a1b407 remove problems code
add ebb3c60 start integrate test
add eac5647 change dir
add 3083eed change test steps
add 723530b fix PID
add 6e1323f make integration test work for metric and zone
add f2ce2dd rename dir
add aa17eaa enhance makefile
add 6fb39f7 make integration test work for multi-registry
add 680525b reformat helloworld
add 709879b make integration test work for registry/etcd
add 4e611c4 make integration test works for registry/nacos
add dafa9ce refresh dubbo-go to snapshot, make servicediscovery/etcd works.
add fe2dbd2 add a FIXME
add 5c12aaa correct registry/servicediscovery/etcd
add 062fd67 make registry/servicediscovery/file work with integration test
add af44f46 make registry/servicediscovery/nacos work with integration test
add d9b6eb1 servicediscovery/zookeeper
add 9ac78ce enhance makefile to allow replace variables in conf yaml files.
add 497fd36 enhance makefile
add 62eaba8 make integration test work for router/condition
add 242b0ab make general/dubbo work with integration test
add 92396ef make grpc work with integration test
add c603517 add travis
add 9d3257a fix package problem
add 603bca5 rename package
add 596bf96 fix problems
add 477cdb4 add github action
add 60032e0 add github action
add 9fe11cc add github action
add c06ff0b Merge branch 'feature/addTravis'
add e179a3b Create blank.yml
add 54b33d6 Update blank.yml
add 05f5174 Merge remote-tracking branch 'origin/master'
add b352f67 fix problems
add 6d7960d Merge pull request #8 from zouyx/feature/fixAutoTest
add b7fab58 Add: tag router examples
add c70347b Fix: lost a pkg in general
add 49f7ade Fix: fmt codes
add f4c360c Fix: fmt codes
add 0fa373a Merge pull request #9 from apache/tag_router
add 8bd4d9a Merge pull request #10 from zouyx/feature/fixAutoTest
add ade3126 Merge branch 'master-apache-dubbo-go-samples'
add 3682b10 Merge pull request #12 from zouyx/master
add 83ce5a6 Merge branch 'master-apache-dubbo-go-samples'
add 18dd683 add general test
add 46032d4 add general test
add 9ee0bfb fix problems
add 61eb4c4 fix problems
add b420a9f update test case
add d512a10 update test case
add 6d3fe90 add more test case
add 72d11e2 add more test case
add 4fc6fc5 add more test case
add c4ae316 add more test case
add 16d67f1 add more test case
add a2d0cf7 add more test case
add c25845d fix problems
add 5e263ff 1.delete useless dir 2.add _ "github.com/apache/dubbo-go/metadata/service/inmemory" for all test dir 3.change log level to error
add 37950d9 1.change log level for async dir 2.revert makefile
add e65e2fa delete useless files
add 30e5459 change stop to clean step
add e3d9744 Fix Makefile bug
add 343a747 Test return exit code when panic
add 036ca8e add exit code for test
add ff553f9 add exit code for test
add 1fa6bf5 fix test problem
add 12ad93f change test method
add e24a813 remove test
add acc07e3 fix test problem
add 91a25c0 change log level
add 9d406ae Merge pull request #13 from zouyx/master
add 4bed1c6 add more test case
add 1c64d17 change log level
add 48733d8 add configcenter/zookeeper case
add 897d981 fix test problem
add ef67824 fix test problem
add 824afd8 fix test problem
add 79d0a1d fix test problem
add ccb9654 remove configcenter/zookeeper case
add 36dc561 remove router/tag case and fix zookeeper service discovery case
add 2a2f12d remove multi-registry case
add 89edc98 Merge pull request #15 from zouyx/master
add d65d87b fix integration
add aebeabb fix integration
add 6e6b603 Merge pull request #19 from mark4z/master
add e7993aa add sentinel-filter sample
add 5a80174 add integration test
add f417877 add script on integrate
add 54c84a1 fix bug
add ecc57cb Merge pull request #16 from pantianying/sentinel-filter
add 4b50b47 test
add 2a4b05a add java for general
add f6f3286 update pkg
add 4daefd8 update version num
add d49f133 fix test problem
add a1acc23 Update dubbo-go version
add eb28097 Update dubbo-go version
add 89907b1 add sd/zookeeper case
add 2e25d47 update pkg
add d02874c update version num
add 01f19a5 fix test problem
add abcb43d Update dubbo-go version
add e4533a2 Update dubbo-go version
add 30886bf add sd/zookeeper case
add 475054a Merge remote-tracking branch 'apache-dubbo-go-samples/1.5.5' into 1.5.5
add 6462b49 fix sd/zookeeper case
add 8eaedb5 fix router case
add 2bf0361 fix: go mod tidy error
add 6ff698e seata sample run
add 5e8cc73 remove seata mod
add ab051f5 change client name equals provider
add d18040a add integrate
add 7c23577 add provid_by
add d76e545 Merge pull request #20 from cityiron/seata-sample
add e956b7d fix: change grpc and sentinel version
add c76bb8d fix: delete unused gosum
add 8268f52 fix: dubbo-go repository path
add 201992b fix: re cicd
add 8c9c239 fix: use protobuf 1.3.2 to generate proper pb.go
add 5dbaa66 fix: change pb.go
add cc40470 Merge pull request #21 from LaurenceLiZhixin/1.5.5
add bc81e94 modify consul demo to support makefile (#22)
add 7464a65 merge
add a19f63d remove sd/consul
add 279e46b Merge branch '1.5.5' into fix-sd-file
add 4884e9c Merge pull request #23 from cityiron/fix-sd-file
add 845616f feat: add registry/servicediscovery/etcd client.yaml add provide_by
add 2a1c857 Merge branch '1.5.5' into 1.5.5-georgehao
add b436635 Merge pull request #25 from georgehao/1.5.5
add 98a15f7 fix router problem
add 099b960 resolve conflict
add 1107469 Merge pull request #27 from apache/fix_mod
add 5ce1f6c resolve conflicts
add 3d13bd4 update version
add 033d650 update version
add 7f38c96 update version for release
add 7074301 resolve conflicts
add 28719de refact generic/java
add 50760ee Merge pull request #24 from fangyincheng/fix-2.7
add ac30af9 Merge pull request #17 from apache/1.5.5
add 086e2da upgrade sentinel go to 1.0.1
add aadb7e4 Merge pull request #31 from louyuting/20201227-update-sentinel-go
add dd6c19a fix: fix dubbo grpc stream bug
add 2b35ff3 Merge pull request #32 from LaurenceLiZhixin/fix/grpcStreamBug
add ec4fd0b merge master
add b6b347a merge master
add 2702e17 Merge branch '1.5.5'
add 1035c4c add CI badge
add f7e0f1a bump up sentinel-go version to v1.0.2
add 1f1383d adjust sentinel version
add 9b0e1d4 comment sentinel tempararily
add 3ad64bc add attachment sample
add cb715b0 add zh_CN README
add c25fdc1 Merge pull request #37 from beiwei30/attachment
add 1c10231 add:.run file
add ff81b51 Merge pull request #38 from zhaoyunxing92/master
add 68fbd91 enhance docs
add ca1fc7d Merge pull request #39 from beiwei30/docs
add a2b55f3 provide HOWTO, and translate all docs into Chinese.
add 0d6018d Merge pull request #40 from beiwei30/translate
add 0b02894 provide run configuration for attachment sample
add ee77fea Merge pull request #41 from beiwei30/attachment-run-config
add 1830d30 update dubbogo to 1.5 latest commit
add 8f4f72b Merge pull request #47 from cityiron/1.5.6-test
add 999598f ftr: context sample
add 40ce18a fix: add zh readme
add 479842f Merge pull request #46 from LaurenceLiZhixin/ftr/context
add f4a3715 fix: consul readme
add 3dd5ad5 fix: add consul readme
add 3f83dde Merge pull request #45 from LaurenceLiZhixin/fix/consul-readme
add fb1b45a ftr:config api
add ec253ca fix: add zh readme
add 55939ee Merge pull request #44 from LaurenceLiZhixin/ftr/config-api
add 761bd1e ftr: add docker
add 9328bc0 fix: add cn readme
add 2e150f5 Merge pull request #43 from LaurenceLiZhixin/ftr/docker
add 8e3c649 upgrade seata-golang version
add 0aa1018 Merge pull request #48 from dk-lockdown/master
add 2f36b6c Update README_zh.md
add 3cf6831 Merge pull request #49 from lauyang/patch-2
add b9df170 fix: add provide_by
add 9b21628 Merge pull request #51 from LaurenceLiZhixin/fix/etcd
add f962482 add "chain" example
add ae6f22a add apache license header
add 27238a8 optimize imports
add a4c5ac2 group var declaration
add 19c6ece Merge pull request #54 from beiwei30/chain
add 8ef9122 add:metric文档
add dac4b01 Merge pull request #53 from zhaoyunxing92/master
add db3d56f feat: add run configs, and regroup import
add 362078c optmize imports
add 7bfb13c Merge pull request #58 from beiwei30/context
add c0c8b1c add run configurations and fix client issue.
add e8a63fc add README
add 2244de1 add:metric文档
add d6b7714 fix: regroup import
add c5ced7e optimize imports
add 2cccc5f Merge pull request #55 from beiwei30/async
add 4af0861 Merge pull request #2 from apache/master
add e095b64 Merge pull request #3 from apache/master
add 3686193 Merge pull request #4 from apache/master
add 9415d1d Doc: adding direct README
add 360cb8c Doc: adding direct README_zh and cleaning
add a01f1fb Doc: improving docs of README
add 1bfa500 Doc: formatting docs of README
add 0503b4d Doc: formatting docs of README and cleaning
add 423bc4e Doc: formatting docs of README_zh
add fe1f172 Mod: clear out the unneeded config
add 394d750 Doc: improving README and README_zh
add d733e75 Add: .run for direct
add 4a404ce Add: fix the .run for direct
add b8b8ad1 Merge pull request #59 from PhilYue/feature/direct/readme
add 3468f70 add:metric readme
add a2bd763 修复语法错误
add 4a8de47 up:调整import顺序
add 8addde5 Merge pull request #61 from zhaoyunxing92/master
add 7cd9182 fix: add run configs, bump up dubbo-go version, revise README
add faaf7b8 fix: regroup imports
add 7402ac2 Merge pull request #57 from beiwei30/config-api
add f3de1c8 fix: regroup imports
add 14a8acb Merge pull request #63 from beiwei30/direct
add 93f99d5 fix: regroup import
add 7299549 fix: add run configs for docker
add 50f0fb9 Merge pull request #64 from beiwei30/docker
add 3685f2d fix: group import, add run files
add 215f989 fix: README for filter samples
add 2319ef1 fix: make integration test work for custom filter, correct dir
add 0c42094 enable IT for configcenter/zookeeper and filter/sentinel
add d1503cb Merge pull request #66 from beiwei30/filter
add a851232 configcenter readme, import and run files
add 7a7c27b fix: revise README
add 137145d fix: regroup imports
add 8e0f74a fix: regroup import for nacos configcenter
add e281731 Merge pull request #62 from beiwei30/configcenter
add f5d3e75 add readme for generic and helloworld
add 1fdf6ef add readme for group
add be3e097 add readme and run configuration for rest sample
add 78fc2b7 add run configuration for samples
add d426a71 add readme_zh for samples
add 84d1727 group the imports
add 6f91bf3 adjust imports and readme
add 3723770 fix helloworld java sample
add da9260c fix error imports
add f17c5dc fix helloworld sample
add 6f73a0d Merge pull request #52 from yakecanlee/feature/add-sample
add 4e8bc84 adjust import sequence in nacos
add 9ea75d6 fix: issue#71
add 9665c73 Merge pull request #72 from beiwei30/hello-world
add 6821dca Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
add eec3ea3 Upgrade the Seata version to adapt the Getty WritePkg method to increase the return value
add a61d1cc Merge pull request #73 from xiaoliu10/upgrade_seata_version
add 2ce35f2 add:multi registry
add adf3d22 up:更新导报问题
add f0e3617 up:语法问题
add ed5605e Merge pull request #75 from zhaoyunxing92/multi-registry
add 68855a6 修改:修复registry/nacos示例无法正常使用的问题,调整client.yml和server.yml方便阅读
add 5dca1e3 Merge pull request #70 from milerL/nacos
add 84568ca add:generic samples
add 06dd051 up:mv it to the 3rd import block
add f86ffa7 up:mv it to the 3rd import block
add ef0d643 Merge pull request #77 from zhaoyunxing92/generic
add 698f8e4 1. fix zk configcenter can not found zk node
add 03877ff Merge pull request #78 from xiaoliu10/fix_zk_configcenter
add 5b923d2 add tls sample
add f9d1b04 add apache license & mod folder
add 5da14b9 mod problems in pr
add bb434be mod refmt go-client/pkg/user
add 5df9ea3 del blank line go-server/pkg/user.go
add 4da3ca4 mod Id to ID
add c082df6 Merge pull request #68 from cjphaha/tls
add ad99803 add:game samples
add 02974be Merge pull request #79 from zfkun/game
add 0b1c591 Id -> ID
add c5a9d63 Merge pull request #80 from apache/fix/Id
add 23b2155 fix directory problem.
add 64351de Merge pull request #84 from horizonzy/fix-directory-problem
add f279379 Ftr/dubbo3 (#81)
add 170edd5 fix: add service-disc zk client .run
add e97e094 3.0test (#102)
add efb9045 improve etcd version
add 35d0f18 Merge pull request #106 from ztelur/3.0
add c61e538 add etcd integrate test (#107)
add 40ab04c fix: updata go get dubbo-gen script (#105)
add 1f92ae7 Ftr: Tengine Calls Dubbo-go Example (#122)
add ebf0817 bump dubbo-go version (#131)
add 1452f49 Dep: Rename import name for remotingMetadataService (#132)
add f515e3e fix: 3.0 triple/grpc provider generated reference function by proto-gen-dubbo (#128)
add d5e6218 update dubbo-go version (#137)
add 588cdc8 application service discovery nacos reporter example (#123)
add a925f32 Ftr/3.0msgpack and triple codec extension samples (#138)
add e5beffd mod jsonrpc catalogue (#126)
add bd2132d Tst: add router to integration and fix hessian2 sample (#124)
add b088e10 add triple integration test (#139)
add dac2903 Fix: change 3.0 streaming test and samples to reactive (#140)
add b870cfa fix: update dubbogo version and integrate test
add ad58d88 fix: add 3.0 test (#141)
add 916f974 add seata run
add f0b3703 fmt file
add 27c70a8 Merge pull request #142 from zhaoyunxing92/seata
add 9f01cb0 fix: fix multi registry integrate test (#144)
add ee33d1b fix(tracing): add StartSpanFromContext to jaeger test case & fix some error (#145)
add bf73754 Fix: seata panic , attachment to AttachmentKey (#148)
add 94c3746 add .run xml for goland to quick start (#129)
add 4b1f506 add filter to test/client.yml (#146)
add 3a733d9 fix: fix side effect (#147)
add 634f2b5 add service discovery .run (#151)
add 9f306a6 hessian.RegisterPOJO(&pkg.User{}) 重复调用 (#154)
add 9ac5eab Rft: Metadata service (#157)
add 1bfff60 fix: java demo
add dc5da43 fix: delete unused
add f2e5a01 add tracing integration test (#156)
add 8fe475a Revert "add tracing integration test (#156)" (#162)
add 419049c fix: fix dynamic naming mapping of app level service disc (#155)
add 5814b41 Ftr: Add integration test multi-server support (#161)
add d35264f Tracing integration new (#163)
add cec63d8 Feature/etcd service discovery (#164)
add 590ef3f Fix: multi-zone imports (#172)
add da7b647 fix (#175)
add 0724a04 Mod: modify import blocks for branch 3.0 (#167)
add 683296a docker Waiter for all samples (#176)
add 636f2eb fix: add chan zk waiter
add 760971d fix: fix chan middle waiter
add 0277b53 fix: add waiter after middle start
add 7b13801 fix: add chain middle wait time
add 50ad9b4 Fix: delete useless & wrong xml files in .run folder (#173)
add 021eafa update howto doc (#177)
add be8569e Ftr: 3.0 lumberjack log sample (#179)
add b91bbe9 change the wrong comment
add fe16ed9 Fix: fix 3.0 branch game integrate error & delete useless file (#185)
add fe904f4 add multi-zone run/debug configuration (#181)
add 8b2c6d0 Ftr: Generic invocation supports generalizer.Generalizer (#170)
new 07bf5ee fix: init new config
new 62f6d2b add:zk registry
new 32789a2 Merge pull request #190 from zhaoyunxing92/config-enhance
new af38e82 Config enhance v3 (#203)
new ac4adfd Add some samples (#204)
new 1320da5 update triple user api to standard, add hessian2 samples (#211)
new 55184c3 add triple msgpack sample (#212)
new 7b0d9e7 update nacos samples config (#205)
new a2409c2 Add apollo config center sample (#208)
new d767fbd Ftr: support new integrate_test in new dubbo samples (#215)
new bfe3909 Ftr/direct samples (#216)
new 008e2b2 Feat/nacos registry (#217)
new 9cf4722 Config enhance rpc dubbo (#213)
new 7dfa08b fix: triple attachment ci (#221)
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (18ecfaf)
\
N -- N -- N refs/heads/config-enhance (7dfa08b)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 14 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
[dubbo-go-samples] 10/14: Ftr: support new integrate_test in new
dubbo samples (#215)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit d767fbdf1fbe7dea54b5088e96609b57975dd24e
Author: Jason Peng <lv...@gmail.com>
AuthorDate: Wed Sep 1 09:20:06 2021 +0800
Ftr: support new integrate_test in new dubbo samples (#215)
* Ftr: support new integrate_test in new dubbo samples
* delete useless comment
---
build/Makefile | 48 ++-----
integrate_test.sh | 20 +--
.../helloworld/docker/docker-health-check.sh | 10 ++
.../tests/integration/userprovider_test.go | 2 +-
start_integrate_test.sh | 147 +++++++++++----------
5 files changed, 110 insertions(+), 117 deletions(-)
diff --git a/build/Makefile b/build/Makefile
index 124ab7c..6bebcc0 100644
--- a/build/Makefile
+++ b/build/Makefile
@@ -16,10 +16,9 @@
PROJECT_NAME = $(shell basename "$(PWD)")
PID = /tmp/.$(PROJECT_NAME).pid
PROJECT_DIR=$(shell pwd)
-BASE_DIR := $(PROJECT_DIR)/dist
+BASE_DIR := $(PROJECT_DIR)/go-server/dist
-
-SOURCES = $(wildcard $(PROJECT_DIR)/cmd/*.go)
+SOURCES = $(wildcard $(PROJECT_DIR)/go-server/cmd/*.go)
export GO111MODULE ?= on
export GOPROXY ?= https://goproxy.io,direct
@@ -69,43 +68,30 @@ help: $(realpath $(firstword $(MAKEFILE_LIST)))
## build: Build application's binaries
.PHONY: build
-build: $(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME) config
+build: $(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME)
.PHONY: $(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME)
$(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME):
$(info > Buiding application binary: $(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME))
@CGO_ENABLED=$(CGO) GOOS=$(GOOS) GOARCH=$(GOARCH) go build $(GCFLAGS) -ldflags=$(LDFLAGS) -i -o $(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME) $(SOURCES)
-
-## config: Setup config files
-.PHONY: config
-config:
- $(info > Setting up config files)
- @mkdir -p $(OUT_DIR)/conf
- @-test -f $(PROJECT_DIR)/conf/log.yml && cat $(PROJECT_DIR)/conf/log.yml | sed "s#\$$HOST_IP#$(DOCKER_HOST_IP)#g" > $(OUT_DIR)/conf/log.yml && echo " > $(OUT_DIR)/conf/log.yml"
- @-test -f $(PROJECT_DIR)/conf/server.yml && cat $(PROJECT_DIR)/conf/server.yml | sed "s#\$$HOST_IP#$(DOCKER_HOST_IP)#g" > $(OUT_DIR)/conf/server.yml && echo " > $(OUT_DIR)/conf/server.yml"
- @-test -f $(PROJECT_DIR)/conf/client.yml && cat $(PROJECT_DIR)/conf/client.yml | sed "s#\$$HOST_IP#$(DOCKER_HOST_IP)#g" > $(OUT_DIR)/conf/client.yml && echo " > $(OUT_DIR)/conf/client.yml"
- @-test -f $(PROJECT_DIR)/conf/router_config.yml && cat $(PROJECT_DIR)/conf/router_config.yml | sed "s#\$$HOST_IP#$(DOCKER_HOST_IP)#g" > $(OUT_DIR)/conf/router_config.yml && echo " > $(OUT_DIR)/conf/router_config.yml"
- @-test -f $(PROJECT_DIR)/conf/virtual_service.yml && cat $(PROJECT_DIR)/conf/virtual_service.yml | sed "s#\$$HOST_IP#$(DOCKER_HOST_IP)#g" > $(OUT_DIR)/conf/virtual_service.yml && echo " > $(OUT_DIR)/conf/virtual_service.yml"
- @-test -f $(PROJECT_DIR)/conf/dest_rule.yml && cat $(PROJECT_DIR)/conf/dest_rule.yml | sed "s#\$$HOST_IP#$(DOCKER_HOST_IP)#g" > $(OUT_DIR)/conf/dest_rule.yml && echo " > $(OUT_DIR)/conf/dest_rule.yml"
-
## docker-health-check: check services health on docker
.PHONY: docker-health-check
docker-health-check:
- $(info > run docker health check with $(PROJECT_DIR)/docker/docker-health-check.sh)
- @-test -f $(PROJECT_DIR)/docker/docker-health-check.sh && bash -f $(PROJECT_DIR)/docker/docker-health-check.sh
+ $(info > run docker health check with $(INTEGRATE_DIR)/docker/docker-health-check.sh)
+ @-test -f $(INTEGRATE_DIR)/docker/docker-health-check.sh && bash -f $(INTEGRATE_DIR)/docker/docker-health-check.sh
## docker-up: Shutdown dependency services on docker
.PHONY: docker-up
docker-up:
- $(info > Starting dependency services with $(PROJECT_DIR)/docker/docker-compose.yml)
- @docker-compose -f $(PROJECT_DIR)/docker/docker-compose.yml up -d
+ $(info > Starting dependency services with $(INTEGRATE_DIR)/docker/docker-compose.yml)
+ @docker-compose -f $(INTEGRATE_DIR)/docker/docker-compose.yml up -d
## docker-down: Shutdown dependency services on docker
.PHONY: docker-down
docker-down:
- $(info > Stopping dependency services with $(PROJECT_DIR)/docker/docker-compose.yml)
- @docker-compose -f $(PROJECT_DIR)/docker/docker-compose.yml down
+ $(info > Stopping dependency services with $(INTEGRATE_DIR)/docker/docker-compose.yml)
+ @docker-compose -f $(INTEGRATE_DIR)/docker/docker-compose.yml down
## clean: Clean up the output and the binary of the application
.PHONY: clean
@@ -116,9 +102,10 @@ clean: stop
## start: Start the application (for server)
.PHONY: start
-start: export CONF_PROVIDER_FILE_PATH ?= $(OUT_DIR)/conf/server.yml
+start: export DUBBO_GO_CONFIG_PATH ?= $(PROJECT_DIR)/go-server/conf/dubbogo.yml
start: build
$(info > Starting application $(PROJECT_NAME), output is redirected to $(LOG_FILE))
+ @ls $(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME)
@-$(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME) > $(LOG_FILE) 2>&1 & echo $$! > $(PID)
@cat $(PID) | sed "/^/s/^/ \> PID: /"
@@ -130,10 +117,6 @@ print-server-log:
## run: Run the application (for client)
.PHONY: run
-run: export CONF_CONSUMER_FILE_PATH ?= $(OUT_DIR)/conf/client.yml
-run: export CONF_ROUTER_FILE_PATH ?= $(OUT_DIR)/conf/router_config.yml
-run: export CONF_DEST_RULE_FILE_PATH ?= $(OUT_DIR)/conf/dest_rule.yml
-run: export CONF_VIRTUAL_SERVICE_FILE_PATH ?= $(OUT_DIR)/conf/virtual_service.yml
run: build
$(info > Running application $(PROJECT_NAME), output is redirected to $(LOG_FILE))
@-$(OUT_DIR)/$(PROJECT_NAME)$(EXT_NAME) 2>&1 | tee $(LOG_FILE)
@@ -147,11 +130,8 @@ stop:
## integration: Run integration test for this application
.PHONY: integration
-integration: export CONF_CONSUMER_FILE_PATH ?= $(OUT_DIR)/conf/client.yml
-integration: export CONF_ROUTER_FILE_PATH ?= $(OUT_DIR)/conf/router_config.yml
-integration: export CONF_DEST_RULE_FILE_PATH ?= $(OUT_DIR)/conf/dest_rule.yml
-integration: export CONF_VIRTUAL_SERVICE_FILE_PATH ?= $(OUT_DIR)/conf/virtual_service.yml
+integration: export DUBBO_GO_CONFIG_PATH ?= $(PROJECT_DIR)/go-client/conf/dubbogo.yml
integration:
- $(info > Running integration test for application $(PROJECT_NAME))
+ $(info > Running integration test for application $(INTEGRATE_DIR))
@go clean -testcache
- @go test -tags integration -v $(PROJECT_DIR)/tests/...
\ No newline at end of file
+ @go test -tags integration -v $(INTEGRATE_DIR)/tests/integration/...
\ No newline at end of file
diff --git a/integrate_test.sh b/integrate_test.sh
index 78eb52e..8894871 100755
--- a/integrate_test.sh
+++ b/integrate_test.sh
@@ -15,37 +15,39 @@
# limitations under the License.
if [ -z "$1" ]; then
- echo "Provide test directory please, like : ./integrate_test.sh $(pwd)/helloworld/go-server ."
+ echo "Provide test directory please, like : ./integrate_test.sh helloworld"
exit
fi
P_DIR=$(pwd)/$1
-
if [ -f "$P_DIR"/build/test.sh ]; then
"$P_DIR"/build/test.sh "$P_DIR"
result=$?
exit $((result))
fi
-make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-up
+INTEGRATE_DIR=$(pwd)/integrate_test/$1
+
+make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile docker-up
# check docker health
-make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-health-check
+make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile docker-health-check
# start server
-make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile start
+make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile start
+
# start integration
-make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile integration
+make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile integration
result=$?
# if fail print server log
if [ $result != 0 ];then
- make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile print-server-log
+ make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile print-server-log
fi
# stop server
-make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile clean
+make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile clean
-make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" BASE_DIR="$P_DIR"/dist -f build/Makefile docker-down
+make PROJECT_DIR="$P_DIR" PROJECT_NAME="$(basename "$P_DIR")" INTEGRATE_DIR="$INTEGRATE_DIR" -f build/Makefile docker-down
exit $((result))
\ No newline at end of file
diff --git a/integrate_test/helloworld/docker/docker-health-check.sh b/integrate_test/helloworld/docker/docker-health-check.sh
new file mode 100644
index 0000000..2cc32c2
--- /dev/null
+++ b/integrate_test/helloworld/docker/docker-health-check.sh
@@ -0,0 +1,10 @@
+curl 127.0.0.1:2181
+res=$?
+passCode=52
+while [ "$res" != "$passCode" ];do
+ sleep 5
+ curl 127.0.0.1:2181
+ res=$?
+done
+
+sleep 5
diff --git a/integrate_test/helloworld/tests/integration/userprovider_test.go b/integrate_test/helloworld/tests/integration/userprovider_test.go
index 992c55d..1daa809 100644
--- a/integrate_test/helloworld/tests/integration/userprovider_test.go
+++ b/integrate_test/helloworld/tests/integration/userprovider_test.go
@@ -42,7 +42,7 @@ func TestSayHello(t *testing.T) {
ctx := context.Background()
ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
- err := greeterProvider.SayHello(ctx, req, reply)
+ reply, err := greeterProvider.SayHello(ctx, req)
assert.Nil(t, err)
assert.Equal(t, "Hello laurence", reply.Name)
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index c672b48..b539384 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -15,79 +15,80 @@
# limitations under the License.
# tracing integrate test
-array=("tracing/dubbo/go-server")
-
-# async
-array+=("async/go-server")
-array+=("attachment/go-server")
-array+=("config-api/go-server")
-array+=("chain")
-# config center
-array+=("configcenter/apollo/go-server")
-array+=("configcenter/nacos/go-server")
-array+=("configcenter/zookeeper/go-server")
-
-# context
-array+=("context/go-server")
-
-# direct
-array+=("direct/go-server")
-
-# filter
-array+=("filter/custom/go-server")
-array+=("filter/tpslimit/go-server")
-array+=("filter/sentinel/go-server")
-
-# game
-array+=("game/go-server-game")
-array+=("game/go-server-gate")
-
-# general-dubbo
-array+=("general/dubbo/go-server")
-
-# general-dubbo3(triple)
-array+=("general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server")
-array+=("general/dubbo3/pb/dubbogo-java/go-server")
-array+=("general/dubbo3/hessian2/go-server")
-array+=("general/dubbo3/msgpack/go-server")
-array+=("general/dubbo3/codec-extension/go-server")
-
-# general-grpc
-array+=("general/grpc/go-server")
-
-# generic invocation
-array+=("generic/default/go-server")
-#array+=("generic/protobufjson/go-server")
-
-# group
-array+=("group/go-server-group-a")
-array+=("group/go-server-group-b")
-
-# hello world
-array+=("helloworld/go-server")
-
-# metric
-array+=("metric/go-server")
-
-# multi-registry
-array+=("multi-registry/go-server")
-
-# multi-zone
-array+=("multi-zone")
-
-# registry
-array+=("registry/zookeeper/go-server")
-array+=("registry/etcd/go-server")
-array+=("registry/nacos/go-server")
-
-# registry/servicediscovery (app level serivce discovery)
-array+=("registry/servicediscovery/zookeeper/go-server")
-array+=("registry/servicediscovery/nacos/go-server")
-
-# router integrate test can only confirm the program build success,
-# the test of router logic would be fixed later
-array+=("router/uniform-router/file/go-server")
-array+=("router/uniform-router/file/go-server2")
+#array=("tracing/dubbo/go-server")
+#
+## async
+#array+=("async/go-server")
+#array+=("attachment/go-server")
+#array+=("config-api/go-server")
+#array+=("chain")
+## config center
+#array+=("configcenter/apollo/go-server")
+#array+=("configcenter/nacos/go-server")
+#array+=("configcenter/zookeeper/go-server")
+#
+## context
+#array+=("context/go-server")
+#
+## direct
+#array+=("direct/go-server")
+#
+## filter
+#array+=("filter/custom/go-server")
+#array+=("filter/tpslimit/go-server")
+#array+=("filter/sentinel/go-server")
+#
+## game
+#array+=("game/go-server-game")
+#array+=("game/go-server-gate")
+#
+## general-dubbo
+#array+=("general/dubbo/go-server")
+#
+## general-dubbo3(triple)
+#array+=("general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server")
+#array+=("general/dubbo3/pb/dubbogo-java/go-server")
+#array+=("general/dubbo3/hessian2/go-server")
+#array+=("general/dubbo3/msgpack/go-server")
+#array+=("general/dubbo3/codec-extension/go-server")
+#
+## general-grpc
+#array+=("general/grpc/go-server")
+#
+## generic invocation
+#array+=("generic/default/go-server")
+##array+=("generic/protobufjson/go-server")
+#
+## group
+#array+=("group/go-server-group-a")
+#array+=("group/go-server-group-b")
+#
+## hello world
+#array+=("helloworld/go-server")
+#
+## metric
+#array+=("metric/go-server")
+#
+## multi-registry
+#array+=("multi-registry/go-server")
+#
+## multi-zone
+#array+=("multi-zone")
+#
+## registry
+#array+=("registry/zookeeper/go-server")
+#array+=("registry/etcd/go-server")
+#array+=("registry/nacos/go-server")
+#
+## registry/servicediscovery (app level serivce discovery)
+#array+=("registry/servicediscovery/zookeeper/go-server")
+#array+=("registry/servicediscovery/nacos/go-server")
+#
+## router integrate test can only confirm the program build success,
+## the test of router logic would be fixed later
+#array+=("router/uniform-router/file/go-server")
+#array+=("router/uniform-router/file/go-server2")
+array+=("helloworld")
for((i=0;i<${#array[*]};i++))
do
[dubbo-go-samples] 05/14: Add some samples (#204)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit ac4adfd64aa66048a9ec6e0265d68cb2c368e331
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Sun Aug 22 16:52:49 2021 +0800
Add some samples (#204)
* fix
* fix: init helloworld and registry zk
* fix: change general to rpc
* fix: add some samples
---
.run/api-triple-client.run.xml | 11 +++
.run/api-triple-server.run.xml | 11 +++
.run/config-api-client.run.xml | 12 +--
.run/config-api-server.run.xml | 12 +--
.../configcenter/configcenter-nacos-client.run.xml | 9 +-
.../configcenter/configcenter-nacos-server.run.xml | 7 +-
.run/context-client.run.xml | 6 +-
.run/context-server.run.xml | 6 +-
.run/context-triple-client.run.xml | 14 +++
.run/context-triple-server.run.xml | 14 +++
config-api/README.md | 73 +++------------
config-api/README_zh.md | 68 --------------
config-api/configcenter/go-client/cmd/client.go | 66 ++++++++++++++
config-api/configcenter/go-server/cmd/server.go | 60 ++++++++++++
config-api/go-client/cmd/client.go | 85 -----------------
config-api/go-client/conf/client.yml | 59 ------------
config-api/go-server/cmd/server.go | 101 ---------------------
config-api/go-server/conf/client.yml | 59 ------------
config-api/go-server/conf/server.yml | 55 -----------
config-api/rpc/README.md | 69 ++++++++++++++
config-api/rpc/triple/go-client/cmd/client.go | 73 +++++++++++++++
config-api/rpc/triple/go-server/cmd/server.go | 73 +++++++++++++++
config-api/subModule/configcenter/main.go | 9 ++
config-api/subModule/registry/README.md | 35 +++++++
config-api/subModule/registry/main.go | 37 ++++++++
config-api/subModule/service/main.go | 9 ++
configcenter/README.md | 96 --------------------
configcenter/README_zh.md | 100 --------------------
configcenter/nacos/go-client/cmd/client.go | 41 +++------
configcenter/nacos/go-client/conf/client.yml | 64 -------------
configcenter/nacos/go-client/conf/dubbogo.yml | 20 ++++
configcenter/nacos/go-client/conf/log.yml | 28 ------
configcenter/nacos/go-client/pkg/user.go | 42 ---------
configcenter/nacos/go-server/cmd/server.go | 59 +++---------
configcenter/nacos/go-server/conf/dubbogo.yml | 24 +++++
context/{ => dubbo}/go-client/cmd/client.go | 15 ++-
context/{ => dubbo}/go-client/conf/client.yml | 0
context/{ => dubbo}/go-client/conf/log.yml | 0
context/{ => dubbo}/go-client/pkg/user.go | 0
context/{ => dubbo}/go-server/cmd/server.go | 7 +-
context/{ => dubbo}/go-server/conf/client.yml | 0
context/{ => dubbo}/go-server/conf/log.yml | 0
context/{ => dubbo}/go-server/conf/server.yml | 0
.../go-server/docker/docker-compose.yml | 0
.../go-server/docker/docker-health-check.sh | 0
context/{ => dubbo}/go-server/pkg/user.go | 0
.../go-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
.../triple/go-client/cmd/client.go | 57 ++++++------
context/triple/go-client/conf/dubbogo.yml | 13 +++
.../triple/go-server/cmd/server.go | 47 ++++------
context/triple/go-server/conf/dubbogo.yml | 17 ++++
go.mod | 4 +-
go.sum | 97 +-------------------
.../configcenter}/docker/docker-compose.yml | 0
.../configcenter}/tests/integration/main_test.go | 29 +-----
.../tests/integration/userprovider_test.go | 26 ++++--
.../rpc/triple}/docker/docker-compose.yml | 0
.../rpc/triple}/tests/integration/main_test.go | 29 +-----
.../triple/tests/integration/userprovider_test.go | 41 +++++----
.../configcenter/nacos}/conf/client.yml | 0
.../configcenter/nacos}/conf/log.yml | 0
.../configcenter/nacos}/conf/server.yml | 0
.../configcenter/nacos}/docker/docker-compose.yml | 0
.../nacos}/docker/docker-health-check.sh | 0
.../nacos}/tests/integration/main_test.go | 0
.../nacos}/tests/integration/userprovider_test.go | 0
.../context/dubbo}/conf/client.yml | 0
.../context/dubbo}/conf/log.yml | 0
.../context/dubbo}/conf/server.yml | 0
.../context/dubbo}/pkg/user.go | 0
.../context/dubbo}/tests/integration/main_test.go | 0
.../dubbo}/tests/integration/userprovider_test.go | 0
.../helloworld/docker/docker-compose.yml~merged | 0
.../zookeeper/docker/docker-compose.yml~merged | 0
.../zookeeper/docker/docker-health-check.sh~merged | 0
.../go-server/docker/docker-compose.yml~merged | 0
.../go-server/docker/docker-health-check.sh~merged | 0
.../go-server/docker/docker-compose.yml~merged | 0
.../go-server/docker/docker-compose.yml~merged | 0
.../go-server/docker/docker-compose.yml~merged | 0
.../docker/docker-compose.yml~merged | 0
.../go-server/docker/docker-compose.yml~merged | 0
.../grpc/go-client/conf/log.yml~merged | 0
.../grpc/go-server/conf/log.yml~merged | 0
.../go-client/docker/docker-compose.yml~merged | 0
.../go-server/docker/docker-compose.yml~merged | 0
87 files changed, 728 insertions(+), 1161 deletions(-)
diff --git a/.run/api-triple-client.run.xml b/.run/api-triple-client.run.xml
new file mode 100644
index 0000000..e27e5fe
--- /dev/null
+++ b/.run/api-triple-client.run.xml
@@ -0,0 +1,11 @@
+<component name="ProjectRunConfigurationManager">
+ <configuration default="false" name="api-triple-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-config-api">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$" />
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/config-api/rpc/triple/go-client/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/config-api/go-client/cmd/client.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/api-triple-server.run.xml b/.run/api-triple-server.run.xml
new file mode 100644
index 0000000..d502f11
--- /dev/null
+++ b/.run/api-triple-server.run.xml
@@ -0,0 +1,11 @@
+<component name="ProjectRunConfigurationManager">
+ <configuration default="false" name="api-triple-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-config-api">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$" />
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/config-api/rpc/triple/go-server/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/config-api/go-server/cmd/server.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/config-api-client.run.xml b/.run/config-api-client.run.xml
index 5c2a1f6..6e81484 100644
--- a/.run/config-api-client.run.xml
+++ b/.run/config-api-client.run.xml
@@ -1,15 +1,11 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="config-api-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="api-config-center-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-config-api" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/config-api/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/config-api/go-client/conf/client.yml" />
- </envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/config-api/go-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/config-api/go-client/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/config-api/configcenter/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/config-api/go-client/cmd/client.go" />
<method v="2" />
</configuration>
-</component>
+</component>
\ No newline at end of file
diff --git a/.run/config-api-server.run.xml b/.run/config-api-server.run.xml
index c1b26e1..8c8081a 100644
--- a/.run/config-api-server.run.xml
+++ b/.run/config-api-server.run.xml
@@ -1,15 +1,11 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="config-api-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="api-config-center-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-config-api" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/config-api/go-server/conf/server.yml" />
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/config-api/go-server/conf/log.yml" />
- </envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/config-api/go-server/cmd/server.go" />
- <package value="github.com/apache/dubbo-go-samples/config-api/go-server/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/config-api/configcenter/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/config-api/go-server/cmd/server.go" />
<method v="2" />
</configuration>
-</component>
+</component>
\ No newline at end of file
diff --git a/.run/configcenter/configcenter-nacos-client.run.xml b/.run/configcenter/configcenter-nacos-client.run.xml
index 2a805c6..4ddc91b 100644
--- a/.run/configcenter/configcenter-nacos-client.run.xml
+++ b/.run/configcenter/configcenter-nacos-client.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="configcenter-nacos-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="configcenter-nacos-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-configcenter" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/configcenter/nacos/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/configcenter/nacos/go-client/conf/client.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/configcenter/nacos/go-client/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/configcenter/nacos/go-client/cmd/client.go" />
<package value="github.com/apache/dubbo-go-samples/configcenter/nacos/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/configcenter/nacos/go-client/cmd/client.go" />
<method v="2" />
</configuration>
-</component>
+</component>
\ No newline at end of file
diff --git a/.run/configcenter/configcenter-nacos-server.run.xml b/.run/configcenter/configcenter-nacos-server.run.xml
index 69739cc..ac3335c 100644
--- a/.run/configcenter/configcenter-nacos-server.run.xml
+++ b/.run/configcenter/configcenter-nacos-server.run.xml
@@ -1,12 +1,11 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="configcenter-nacos-server" type="GoApplicationRunConfiguration" factoryName="Go Application">
+ <configuration default="false" name="configcenter-nacos-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-configcenter">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
- <kind value="PACKAGE" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/configcenter/nacos/go-server/conf/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/configcenter/nacos/go-server/conf/server.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/configcenter/nacos/go-server/conf/dubbogo.yml" />
</envs>
+ <kind value="PACKAGE" />
<package value="github.com/apache/dubbo-go-samples/configcenter/nacos/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
<filePath value="$PROJECT_DIR$/configcenter/nacos/go-server/cmd/server.go" />
diff --git a/.run/context-client.run.xml b/.run/context-client.run.xml
index 890a6b7..d801885 100644
--- a/.run/context-client.run.xml
+++ b/.run/context-client.run.xml
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="context-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="context-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-context" singleton="false">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
@@ -7,9 +7,9 @@
<env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/context/go-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/context/go-client/cmd/client.go" />
<package value="github.com/apache/dubbo-go-samples/context/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/context/go-client/cmd/client.go" />
<method v="2" />
</configuration>
-</component>
+</component>
\ No newline at end of file
diff --git a/.run/context-server.run.xml b/.run/context-server.run.xml
index a6721d2..cacd6bd 100644
--- a/.run/context-server.run.xml
+++ b/.run/context-server.run.xml
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="context-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="context-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-context" singleton="false">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
@@ -7,9 +7,9 @@
<env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/context/go-server/conf/log.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/context/go-server/cmd/server.go" />
<package value="github.com/apache/dubbo-go-samples/context/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/context/go-server/cmd/server.go" />
<method v="2" />
</configuration>
-</component>
+</component>
\ No newline at end of file
diff --git a/.run/context-triple-client.run.xml b/.run/context-triple-client.run.xml
new file mode 100644
index 0000000..eb36e49
--- /dev/null
+++ b/.run/context-triple-client.run.xml
@@ -0,0 +1,14 @@
+<component name="ProjectRunConfigurationManager">
+ <configuration default="false" name="context-triple-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-context">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$" />
+ <envs>
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/context/triple/go-client/conf/dubbogo.yml" />
+ </envs>
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/context/triple/go-client/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/context-triple-server.run.xml b/.run/context-triple-server.run.xml
new file mode 100644
index 0000000..d1f9188
--- /dev/null
+++ b/.run/context-triple-server.run.xml
@@ -0,0 +1,14 @@
+<component name="ProjectRunConfigurationManager">
+ <configuration default="false" name="context-triple-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-context">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$" />
+ <envs>
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/context/triple/go-server/conf/dubbogo.yml" />
+ </envs>
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/context/triple/go-server/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/config-api/README.md b/config-api/README.md
index a1b4605..5f5085f 100644
--- a/config-api/README.md
+++ b/config-api/README.md
@@ -1,65 +1,18 @@
-# config by api
+## 配置API
-### 1. Usage
-provider side\
-go-server/cmd/server.go
-```go
-// run these codes in init function
-// and you need not add config env_vairable before run
- providerConfig := config.NewProviderConfig(
- config.WithProviderAppConfig(config.NewDefaultApplicationConfig()),
- config.WithProviderProtocol("dubbo", "dubbo", "20000"),// protocol and port
- config.WithProviderRegistry("demoZk", config.NewDefaultRegistryConfig("zookeeper")), // registry config
- config.WithProviderServices("UserProvider", config.NewServiceConfigByAPI(
- config.WithServiceRegistry("demoZk"), // registry key, equal to upper line
- config.WithServiceProtocol("dubbo"), // export protocol
- config.WithServiceInterface("org.apache.dubbo.UserProvider"), // interface id
- config.WithServiceLoadBalance("random"), // lb
- config.WithServiceWarmUpTime("100"),
- config.WithServiceCluster("failover"),
- config.WithServiceMethod("GetUser", "1", "random"),
- )),
- )
- config.SetProviderConfig(*providerConfig) // set to providerConfig ptr
-```
+配置API旨在支持用户通过API的形式来使用dubbo-go框架,而无需定义配置文件。
+配置API具有更高的灵活性,可以在代码中动态地写入配置条目,从而启动框架服务,或者生成自己需要使用的实例。例如注册中心、配置中心等模块。
-consumer side\
-go-client/cmd/client.go
-```go
-consumerConfig := config.NewConsumerConfig(
- config.WithConsumerAppConfig(config.NewDefaultApplicationConfig()), // default app config
- config.WithConsumerConnTimeout(time.Second*3), // timeout
- config.WithConsumerRequestTimeout(time.Second*3), // timeout
- config.WithConsumerRegistryConfig("demoZk", config.NewDefaultRegistryConfig("zookeeper")), // registry config
- config.WithConsumerReferenceConfig("UserProvider", config.NewReferenceConfigByAPI( // set refer config
- config.WithReferenceRegistry("demoZk"), // registry key
- config.WithReferenceProtocol("dubbo"), // protocol
- config.WithReferenceInterface("org.apache.dubbo.UserProvider"),// interface name
- config.WithReferenceMethod("GetUser", "3", "random"), // method and lb
- config.WithReferenceCluster("failover"),
- )),
- )
- config.SetConsumerConfig(*consumerConfig) // set to global consumerConfig ptr before main function run
-```
-### 2. Attention
-- default registry support\
-Now we support the api way to create provider/consumer global configure.
+### 目录结构
-default registry code as showed above:\
-we support default ip and port for them
-```go
-config.NewDefaultRegistryConfig("nacos")
-config.NewDefaultRegistryConfig("consul")
-config.NewDefaultRegistryConfig("zookeeper")
-```
+-configcenter/
-- default app config support\
-set app-relevant config by default
-```
-config.NewDefaultApplicationConfig()
-```
-- need improve\
-Now, api config is only support to create config by api, it also needs to set specific config field after read from yaml file by api.\
-There maybe future-change in config/consumer_config.go config/provider_config.go to export more api.
+使用配置API,从远程配置中心读取框架启动配置,详情见 [README](./rpc/README.md)
-Pls. refer to [HOWTO.md](../HOWTO.md) under the root directory to run this sample.
\ No newline at end of file
+- rpc/
+
+使用配置API启动provider端和consumer端,发起调用
+
+- subModule/
+
+使用配置API 获取框架特定组件的实例
diff --git a/config-api/README_zh.md b/config-api/README_zh.md
deleted file mode 100644
index f33f572..0000000
--- a/config-api/README_zh.md
+++ /dev/null
@@ -1,68 +0,0 @@
-# Dubbogo 使用api进行配置初始化
-
-### 1. 使用方法
-- 服务端:
- go-server/cmd/server.go
-
-```go
-// 在init函数中定义这些代码
-// 你不需要在环境变量中定义服务端配置文件的位置了
- providerConfig := config.NewProviderConfig(
- config.WithProviderAppConfig(config.NewDefaultApplicationConfig()), // 默认app配置
- config.WithProviderProtocol("dubbo", "dubbo", "20000"),// 协议key、协议名和端口号
- config.WithProviderRegistry("demoZk", config.NewDefaultRegistryConfig("zookeeper")), // 注册中心配置
- config.WithProviderServices("UserProvider", config.NewServiceConfigByAPI(
- config.WithServiceRegistry("demoZk"), // 注册中心 key, 和上面注册中心key保持一致
- config.WithServiceProtocol("dubbo"), // 暴露协议,和上面协议key对应
- config.WithServiceInterface("org.apache.dubbo.UserProvider"), // interface id
- config.WithServiceLoadBalance("random"), // 负载均衡
- config.WithServiceWarmUpTime("100"),
- config.WithServiceCluster("failover"),
- config.WithServiceMethod("GetUser", "1", "random"),
- )),
- )
- config.SetProviderConfig(*providerConfig) // 写入providerConfig指针
-```
-
-- 客户端
- go-client/cmd/client.go
-
-```go
-consumerConfig := config.NewConsumerConfig(
- config.WithConsumerAppConfig(config.NewDefaultApplicationConfig()), // 默认app配置
- config.WithConsumerConnTimeout(time.Second*3), // timeout
- config.WithConsumerRequestTimeout(time.Second*3), // timeout
- config.WithConsumerRegistryConfig("demoZk", config.NewDefaultRegistryConfig("zookeeper")), // 注册中心配置
- config.WithConsumerReferenceConfig("UserProvider", config.NewReferenceConfigByAPI( // set refer config
- config.WithReferenceRegistry("demoZk"), // registry key
- config.WithReferenceProtocol("dubbo"), // protocol
- config.WithReferenceInterface("org.apache.dubbo.UserProvider"),// interface name
- config.WithReferenceMethod("GetUser", "3", "random"), // method and lb
- config.WithReferenceCluster("failover"),
- )),
- )
- config.SetConsumerConfig(*consumerConfig) // 写入 consumerConfig 指针
-```
-### 2. 注意
-- 默认注册中心支持
-
- 现在提供根据api来快速初始化注册中心到默认ip和端口
-
-默认注册中心初始化代码:
-
-```go
-config.NewDefaultRegistryConfig("nacos")
-config.NewDefaultRegistryConfig("consul")
-config.NewDefaultRegistryConfig("zookeeper")
-```
-
-- 默认app配置
-设置默认的app配置:
-```
-config.NewDefaultApplicationConfig()
-```
-- 需要改进的地方:
-
- 现在,通过api只能进行配置初始化过程,而通过api进行配置特定字段的修改也很重要。在以后可能会在config/consumer_config.go config/provider_config.go 文件中进行进一步支持。
-
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
\ No newline at end of file
diff --git a/config-api/configcenter/go-client/cmd/client.go b/config-api/configcenter/go-client/cmd/client.go
new file mode 100644
index 0000000..823642a
--- /dev/null
+++ b/config-api/configcenter/go-client/cmd/client.go
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+ "context"
+ "time"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+ "dubbo.apache.org/dubbo-go/v3/config"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+import (
+ "github.com/apache/dubbo-go-samples/api"
+)
+
+var grpcGreeterImpl = new(api.GreeterClientImpl)
+
+// There is no need to export DUBBO_GO_CONFIG_PATH, as you are using config api to set config
+func main() {
+ config.SetConsumerService(grpcGreeterImpl)
+
+ centerConfig := config.NewConfigCenterConfig(
+ config.WithConfigCenterProtocol("nacos"),
+ config.WithConfigCenterAddress("localhost:8848"),
+ config.WithConfigCenterDataID("dubbo-go-samples-configcenter-nacos-client"),
+ )
+
+ rootConfig := config.NewRootConfig(
+ config.WithRootCenterConfig(centerConfig),
+ )
+
+ if err := rootConfig.Init(); err != nil {
+ panic(err)
+ }
+
+ time.Sleep(3 * time.Second)
+
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply := &api.User{}
+ if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ logger.Error(err)
+ }
+ logger.Infof("client response result: %v\n", reply)
+}
diff --git a/config-api/configcenter/go-server/cmd/server.go b/config-api/configcenter/go-server/cmd/server.go
new file mode 100644
index 0000000..0b511ac
--- /dev/null
+++ b/config-api/configcenter/go-server/cmd/server.go
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+ "context"
+ "dubbo.apache.org/dubbo-go/v3/config"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+import (
+ "github.com/apache/dubbo-go-samples/api"
+)
+
+type GreeterProvider struct {
+ api.GreeterProviderBase
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
+
+// There is no need to export DUBBO_GO_CONFIG_PATH, as you are using config api to set config
+func main() {
+ config.SetProviderService(&GreeterProvider{})
+ centerConfig := config.NewConfigCenterConfig(
+ config.WithConfigCenterProtocol("nacos"),
+ config.WithConfigCenterAddress("localhost:8848"),
+ config.WithConfigCenterDataID("dubbo-go-samples-configcenter-nacos-server"),
+ )
+
+ rootConfig := config.NewRootConfig(
+ config.WithRootCenterConfig(centerConfig),
+ )
+
+ if err := rootConfig.Init(); err != nil {
+ panic(err)
+ }
+ select {}
+}
diff --git a/config-api/go-client/cmd/client.go b/config-api/go-client/cmd/client.go
deleted file mode 100644
index fad27a9..0000000
--- a/config-api/go-client/cmd/client.go
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "context"
- "os"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/config-api/go-client/pkg"
-)
-
-var userProvider = new(pkg.UserProvider)
-
-func setConfigByAPI() {
- consumerConfig := config.NewConsumerConfig(
- config.WithConsumerAppConfig(config.NewDefaultApplicationConfig()),
- config.WithConsumerConnTimeout(time.Second*3),
- config.WithConsumerRequestTimeout(time.Second*3),
- config.WithConsumerRegistryConfig("demoZk", config.NewDefaultRegistryConfig("zookeeper")),
- config.WithConsumerReferenceConfig("UserProvider", config.NewReferenceConfigByAPI(
- config.WithReferenceRegistry("demoZk"),
- config.WithReferenceProtocol("dubbo"),
- config.WithReferenceInterface("org.apache.dubbo.UserProvider"),
- config.WithReferenceMethod("GetUser", "3", "random"),
- config.WithReferenceCluster("failover"),
- )),
- )
- config.SetConsumerConfig(*consumerConfig)
-}
-
-func init() {
- setConfigByAPI()
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
-}
-
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
- time.Sleep(3 * time.Second)
-
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
- }
- gxlog.CInfo("response result: %v\n", user)
-}
diff --git a/config-api/go-client/conf/client.yml b/config-api/go-client/conf/client.yml
deleted file mode 100644
index 308d530..0000000
--- a/config-api/go-client/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoClient"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/config-api/go-server/cmd/server.go b/config-api/go-server/cmd/server.go
deleted file mode 100644
index b38bc6e..0000000
--- a/config-api/go-server/cmd/server.go
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- "dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/config-api/go-server/pkg"
-)
-
-var (
- survivalTimeout = int(3e9)
-)
-
-func setConfigByAPI() {
- providerConfig := config.NewProviderConfig(
- config.WithProviderAppConfig(config.NewDefaultApplicationConfig()),
- config.WithProviderProtocol("dubbo", "dubbo", "20000"),
- config.WithProviderRegistry("demoZk", config.NewDefaultRegistryConfig("zookeeper")),
- config.WithProviderServices("UserProvider", config.NewServiceConfigByAPI(
- config.WithServiceRegistry("demoZk"),
- config.WithServiceProtocol("dubbo"),
- config.WithServiceInterface("org.apache.dubbo.UserProvider"),
- config.WithServiceLoadBalance("random"),
- config.WithServiceWarmUpTime("100"),
- config.WithServiceCluster("failover"),
- config.WithServiceMethod("GetUser", "1", "random"),
- )),
- )
- config.SetProviderConfig(*providerConfig)
-}
-
-func init() {
- setConfigByAPI()
-}
-
-// needn't to setup environment variable before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
-
- initSignal()
-}
-
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
-
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
- }
-}
diff --git a/config-api/go-server/conf/client.yml b/config-api/go-server/conf/client.yml
deleted file mode 100644
index 11ae382..0000000
--- a/config-api/go-server/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoTest"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/config-api/go-server/conf/server.yml b/config-api/go-server/conf/server.yml
deleted file mode 100644
index af90434..0000000
--- a/config-api/go-server/conf/server.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoServer"
- module: "dubbo-go user-info server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/config-api/rpc/README.md b/config-api/rpc/README.md
new file mode 100644
index 0000000..95f46ff
--- /dev/null
+++ b/config-api/rpc/README.md
@@ -0,0 +1,69 @@
+# Dubbogo 使用api进行配置初始化
+
+### 使用方法
+- 服务端:
+ triple/go-server/cmd/server.go
+
+```go
+// 注册Provider,通过结构名,或者 Reference()函数返回值'greeterImpl',与 provider配置serviceKey相对应
+config.SetProviderService(&GreeterProvider{})
+
+// 生成service配置
+serviceConfig := config.NewServiceConfig(
+ config.WithServiceInterface("com.apache.dubbo.sample.basic.IGreeter"), // 接口名,consuemr与provider对应的ID
+ config.WithServiceProtocolKeys("tripleKey"), // 选择的协议key,与rootConfig 声明的支持协议key需要对应
+)
+
+// 生成协议配置
+protocolConfig := config.NewProtocolConfig(
+ config.WithProtocolName("tri"),
+ config.WithProtocolPort("20000"),
+)
+
+// 生成provider配置
+providerConfig := config.NewProviderConfig(
+ config.WithProviderRegistryKeys("zk"), // provider 选择使用的注册中心key
+ config.WithProviderService("greeterImpl", serviceConfig), // provider 注册 serviceKey 和用上面定义好的 GreeterProvider
+)
+
+// 生成注册中心配置
+registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+
+// 生成根配置
+rootConfig := config.NewRootConfig(
+ config.WithRootProviderConfig(providerConfig), // 使用provider配置
+ config.WithRootRegistryConfig("zk", registryConfig), // 声明注册中心Key和注册中心配置
+ config.WithRootProtocolConfig("tripleKey", protocolConfig),// 声明当前应用支持的协议key,与 serviceConfig 选择的协议key需要对应
+)
+
+// 服务启动
+if err := rootConfig.Init(); err != nil {
+ panic(err)
+}
+select {}
+```
+- 客户端,与provider端类似
+```go
+config.SetConsumerService(tripleGreeterImpl)
+
+referenceConfig := config.NewReferenceConfig(
+ config.WithReferenceInterface("com.apache.dubbo.sample.basic.IGreeter"),
+ config.WithReferenceProtocolName("tri"),
+ config.WithReferenceRegistry("zkRegistryKey"),
+)
+
+consumerConfig := config.NewConsumerConfig(
+ config.WithConsumerReferenceConfig("greeterImpl", referenceConfig),
+)
+
+registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+
+rootConfig := config.NewRootConfig(
+ config.WithRootRegistryConfig("zkRegistryKey", registryConfig),
+ config.WithRootConsumerConfig(consumerConfig),
+)
+
+if err := rootConfig.Init(); err != nil {
+ panic(err)
+}
+```
\ No newline at end of file
diff --git a/config-api/rpc/triple/go-client/cmd/client.go b/config-api/rpc/triple/go-client/cmd/client.go
new file mode 100644
index 0000000..c17c6ba
--- /dev/null
+++ b/config-api/rpc/triple/go-client/cmd/client.go
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+ "context"
+ "time"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+ "dubbo.apache.org/dubbo-go/v3/config"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+import (
+ "github.com/apache/dubbo-go-samples/api"
+)
+
+var tripleGreeterImpl = new(api.GreeterClientImpl)
+
+// There is no need to export DUBBO_GO_CONFIG_PATH, as you are using config api to set config
+func main() {
+ config.SetConsumerService(tripleGreeterImpl)
+
+ referenceConfig := config.NewReferenceConfig(
+ config.WithReferenceInterface("com.apache.dubbo.sample.basic.IGreeter"),
+ config.WithReferenceProtocolName("tri"),
+ config.WithReferenceRegistry("zkRegistryKey"),
+ )
+
+ consumerConfig := config.NewConsumerConfig(
+ config.WithConsumerReferenceConfig("greeterImpl", referenceConfig),
+ )
+
+ registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+
+ rootConfig := config.NewRootConfig(
+ config.WithRootRegistryConfig("zkRegistryKey", registryConfig),
+ config.WithRootConsumerConfig(consumerConfig),
+ )
+
+ if err := rootConfig.Init(); err != nil {
+ panic(err)
+ }
+
+ time.Sleep(3 * time.Second)
+
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply := &api.User{}
+ if err := tripleGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ logger.Error(err)
+ }
+ logger.Infof("client response result: %v\n", reply)
+}
diff --git a/config-api/rpc/triple/go-server/cmd/server.go b/config-api/rpc/triple/go-server/cmd/server.go
new file mode 100644
index 0000000..a979a52
--- /dev/null
+++ b/config-api/rpc/triple/go-server/cmd/server.go
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package main
+
+import (
+ "context"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+ "dubbo.apache.org/dubbo-go/v3/config"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+import (
+ "github.com/apache/dubbo-go-samples/api"
+)
+
+type GreeterProvider struct {
+ api.GreeterProviderBase
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
+
+// There is no need to export DUBBO_GO_CONFIG_PATH, as you are using config api to set config
+func main() {
+ config.SetProviderService(&GreeterProvider{})
+
+ serviceConfig := config.NewServiceConfig(
+ config.WithServiceInterface("com.apache.dubbo.sample.basic.IGreeter"),
+ config.WithServiceProtocolKeys("tripleKey"),
+ )
+
+ protocolConfig := config.NewProtocolConfig(
+ config.WithProtocolName("tri"),
+ config.WithProtocolPort("20000"),
+ )
+
+ providerConfig := config.NewProviderConfig(
+ config.WithProviderRegistryKeys("zk"),
+ config.WithProviderService("greeterImpl", serviceConfig),
+ )
+
+ registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+
+ rootConfig := config.NewRootConfig(
+ config.WithRootProviderConfig(providerConfig),
+ config.WithRootRegistryConfig("zk", registryConfig),
+ config.WithRootProtocolConfig("tripleKey", protocolConfig),
+ )
+ if err := rootConfig.Init(); err != nil {
+ panic(err)
+ }
+ select {}
+}
diff --git a/config-api/subModule/configcenter/main.go b/config-api/subModule/configcenter/main.go
new file mode 100644
index 0000000..7d4c297
--- /dev/null
+++ b/config-api/subModule/configcenter/main.go
@@ -0,0 +1,9 @@
+package main
+
+import (
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+// todo
+func main() {
+}
diff --git a/config-api/subModule/registry/README.md b/config-api/subModule/registry/README.md
new file mode 100644
index 0000000..f67193e
--- /dev/null
+++ b/config-api/subModule/registry/README.md
@@ -0,0 +1,35 @@
+## 通过配置API生成实例化子模块
+
+### 注册中心
+
+例子:
+```go
+// 通过配置 API 生成注册中心配置,此处为默认zk配置
+registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+
+// 调用注册中心配置API,获取注册中心实例 reg
+reg, err := registryConfig.GetInstance(common.PROVIDER)
+if err != nil {
+ panic(err)
+}
+
+// 生成一个 provider URL
+ivkURL, err := common.NewURL("mock://localhost:8080",
+ common.WithPath("com.alibaba.dubbogo.HelloService"),
+ common.WithParamsValue(constant.ROLE_KEY, strconv.Itoa(common.PROVIDER)),
+ common.WithMethods([]string{"GetUser", "SayHello"}),
+)
+if err != nil {
+ panic(err)
+}
+// 使用新生成的注册中心实例注册
+if err := reg.Register(ivkURL); err != nil {
+ panic(err)
+}
+time.Sleep(time.Second * 30)
+// 反注册
+if err := reg.UnRegister(ivkURL); err != nil {
+ panic(err)
+}
+
+```
\ No newline at end of file
diff --git a/config-api/subModule/registry/main.go b/config-api/subModule/registry/main.go
new file mode 100644
index 0000000..c9ca8da
--- /dev/null
+++ b/config-api/subModule/registry/main.go
@@ -0,0 +1,37 @@
+package main
+
+import (
+ "strconv"
+ "time"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common"
+ "dubbo.apache.org/dubbo-go/v3/common/constant"
+ "dubbo.apache.org/dubbo-go/v3/config"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+func main() {
+ registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+ reg, err := registryConfig.GetInstance(common.PROVIDER)
+ if err != nil {
+ panic(err)
+ }
+
+ ivkURL, err := common.NewURL("mock://localhost:8080",
+ common.WithPath("com.alibaba.dubbogo.HelloService"),
+ common.WithParamsValue(constant.ROLE_KEY, strconv.Itoa(common.PROVIDER)),
+ common.WithMethods([]string{"GetUser", "SayHello"}),
+ )
+ if err != nil {
+ panic(err)
+ }
+ if err := reg.Register(ivkURL); err != nil {
+ panic(err)
+ }
+ time.Sleep(time.Second * 30)
+ if err := reg.UnRegister(ivkURL); err != nil {
+ panic(err)
+ }
+}
diff --git a/config-api/subModule/service/main.go b/config-api/subModule/service/main.go
new file mode 100644
index 0000000..7d4c297
--- /dev/null
+++ b/config-api/subModule/service/main.go
@@ -0,0 +1,9 @@
+package main
+
+import (
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+// todo
+func main() {
+}
diff --git a/configcenter/README.md b/configcenter/README.md
deleted file mode 100644
index 3f3c469..0000000
--- a/configcenter/README.md
+++ /dev/null
@@ -1,96 +0,0 @@
-# Config Center Sample
-
-### Background
-
-In Dubbo, config center takes the following two responsibilities:
-1. For externalized configuration. Central management for bootstrap configurations, that is, keep "dubbo.properties" save externally on the config center.
-2. For service governance. Keep service rule on the config center, and notify the subscribers when the rule changes.
-
-The purpose of externalized configuration is centrally managing application's configurations in one single place. There are many mature configuration management systems in the industry. Dubbo go supports some of them, including Zookeeper, Nacos and Apollo, etc.
-
-There's no difference between externalized configuration and local configuration with regarding the content and the format. Config center is more suitable to keep the common configurations such as registry center configuration, metadata center configuration, etc., so that they are centrally managed.
-
-At the same time, externalized configuration has two scope: global scope, and application scope. Global scope configurations are shared among all applications, and application scope configuration is only visible to the application it belongs to. By default, externalized configuration has higher priority than the local configuration.
-
-This sample demonstrates how to config and use externalized configuration on Zookeeper. You can refer [Dubbo Documentation](https://dubbo.apache.org/zh/docs/v2.7/user/configuration/config-center/) for more details on config center.
-
-### Example
-
-If use Zookeeper as config center, global externalized configuration and application scope configurations will be layout like below:
-
-```
-dubbo
-└── config
- ├── dubbo
- │ └── dubbo.properties <- global
- ├── user-info-client
- │ └── dubbo.properties <- service consumer
- └── user-info-server
- └── dubbo.properties <- service provider
-```
-
-##### 1. Prepare externalized configurations
-
-**Prepare global scope externalized configuration** - The default path for the global scope configuration on Zookeeper is: "/dubbo/config/dubbo/dubbo.properties". You can use the following commands to config it:
-
-```bash
-zkCli create /dubbo/config; \
-zkCli create /dubbo/config/dubbo; \
-zkCli create /dubbo/config/dubbo/dubbo.properties; \
-zkCli set /dubbo/config/dubbo/dubbo.properties \
-"dubbo.protocol.name=dubbo
-dubbo.protocol.port=20880"
-```
-
-**Prepare configuration for service provider** - Assume service provider's application name is "user-info-server", then the default path for the provider's config is "/dubbo/config/user-info-server/dubbo.properties". You can use the following commands to config it:
-
-```bash
-zkCli create /dubbo/config; \
-zkCli create /dubbo/config/user-info-server; \
-zkCli create /dubbo/config/user-info-server/dubbo.properties; \
-zkCli set /dubbo/config/user-info-server/dubbo.properties \
-"dubbo.service.org.apache.dubbo.UserProvider.cluster=failfast
-dubbo.service.org.apache.dubbo.UserProvider.protocol=myDubbo
-dubbo.protocols.myDubbo.port=22222
-dubbo.protocols.myDubbo.name=dubbo"
-```
-
-**Prepare configuration for service consumer** - Assume service consumer's application name is "user-info-client", then the default path for the consumer's config is "/dubbo/config/user-info-client/dubbo.properties". You can use the following commands to config it:
-
-```bash
-zkCli create /dubbo/config; \
-zkCli create /dubbo/config/user-info-client; \
-zkCli create /dubbo/config/user-info-client/dubbo.properties; \
-zkCli set /dubbo/config/user-info-client/dubbo.properties \
-"dubbo.service.org.apache.dubbo.UserProvider.cluster=failfast"
-```
-
-##### 2. Config config center in application
-
-The config center's configuration on the consumer side and on the provider side is similar, shown as following:
-
-```yaml
-# config center config
-config_center:
- protocol: "zookeeper"
- group: "user-info-client"
- address: "127.0.0.1:2181"
-# application config
-application:
- organization: "dubbo.io"
- name: "user-info-server" # application's name, which will decide where the externalized configuration is placed.
-```
-
-##### 3. Import config center's package
-
-```go
-import (
- _ "dubbo.apache.org/dubbo-go/v3/config_center/zookeeper"
-)
-```
-
-##### 4. Run this sample
-
-Pls. refer to [HOWTO.md](../HOWTO.md) under the root directory to run this sample.
-
-
diff --git a/configcenter/README_zh.md b/configcenter/README_zh.md
deleted file mode 100644
index 38dbbf4..0000000
--- a/configcenter/README_zh.md
+++ /dev/null
@@ -1,100 +0,0 @@
-# 配置中心示例
-
-### 背景
-
-配置中心在 Dubbo 中承担两个职责:
-
-1. 外部化配置。启动配置的集中式存储 (简单理解为 dubbo.properties 的外部化存储)
-2. 服务治理。服务治理规则的存储与通知
-
-外部化配置目的之一是实现配置的集中式管理,这部分业界已经有很多成熟的专业配置系统。Dubbo go 中对 Zookeeper、Nacos、Apollo 等做了支持。
-
-外部化配置和其他本地配置在内容和格式上并无区别,配置中心更适合将一些公共配置如注册中心、元数据中心配置等抽取以便做集中管理。
-
-同时,外部化配置有全局和应用两个级别,全局配置是所有应用共享的,应用级配置是由每个应用自己维护且只对自身可见的。并且,外部化配置的优先级默认高于本地配置。
-
-本例以如何在 Zookeeper
-上配置和使用外部化配置为例。更多的关于配置中心的描述请参阅 [Dubbo 文档](https://dubbo.apache.org/zh/docs/v2.7/user/configuration/config-center/) 。
-
-### 样例
-
-以 Zookeeper 为例,应用级别和全局的外化配置将会以以下的布局存储在 Zookeeper 上。
-
-```
-dubbo
-└── config
- ├── dubbo
- │ └── dubbo.properties <- 全局
- ├── user-info-client
- │ └── dubbo.properties <- 服务消费者
- └── user-info-server
- └── dubbo.properties <- 服务提供者
-```
-
-##### 1. 准备应用外化配置
-
-**全局配置准备** - 全局配置的默认路径为 "/dubbo/config/dubbo/dubbo.properties"。使用以下的命令来配置样例 dubbo.properties:
-
-```bash
-zkCli create /dubbo/config; \
-zkCli create /dubbo/config/dubbo; \
-zkCli create /dubbo/config/dubbo/dubbo.properties; \
-zkCli set /dubbo/config/dubbo/dubbo.properties \
-"dubbo.protocol.name=dubbo
-dubbo.protocol.port=20880"
-```
-
-**服务提供方配置** - 假设服务提供方的应用名是 "user-info-server",服务提供方应用级的配置的默认路径为 "/dubbo/config/user-info-server/dubbo.properties"
-。使用以下的命令来配置样例 dubbo.properties:
-
-```bash
-zkCli create /dubbo/config; \
-zkCli create /dubbo/config/user-info-server; \
-zkCli create /dubbo/config/user-info-server/dubbo.properties; \
-zkCli set /dubbo/config/user-info-server/dubbo.properties \
-"dubbo.service.org.apache.dubbo.UserProvider.cluster=failfast
-dubbo.service.org.apache.dubbo.UserProvider.protocol=myDubbo
-dubbo.protocols.myDubbo.port=22222
-dubbo.protocols.myDubbo.name=dubbo"
-```
-
-**服务消费方配置** - 假设服务消费方的应用名是 "user-info-client",服务提供方应用级的配置的默认路径为 "/dubbo/config/user-info-client/dubbo.properties"
-。使用以下的命令来配置样例 dubbo.properties:
-
-```bash
-zkCli create /dubbo/config; \
-zkCli create /dubbo/config/user-info-client; \
-zkCli create /dubbo/config/user-info-client/dubbo.properties; \
-zkCli set /dubbo/config/user-info-client/dubbo.properties \
-"dubbo.service.org.apache.dubbo.UserProvider.cluster=failfast"
-```
-
-##### 2. 在应用中配置配置中心
-
-服务提供方与服务消费方配置配置中心的方式是一致的,如下所示:
-
-```yaml
-# config center config
-config_center:
- protocol: "zookeeper"
- group: "user-info-server"
- address: "127.0.0.1:2181"
-# application config
-application:
- organization: "dubbo.io"
- name: "user-info-server" # 应用文件名,决定应用级外化配置
-```
-
-##### 3. 在代码中引入配置中心的包
-
-```go
-import (
- _ "dubbo.apache.org/dubbo-go/v3/config_center/zookeeper"
-)
-```
-
-##### 4. 运行示例
-
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
-
-
diff --git a/configcenter/nacos/go-client/cmd/client.go b/configcenter/nacos/go-client/cmd/client.go
index 06749f8..68fe2c0 100644
--- a/configcenter/nacos/go-client/cmd/client.go
+++ b/configcenter/nacos/go-client/cmd/client.go
@@ -19,50 +19,37 @@ package main
import (
"context"
- "os"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/config_center/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/configcenter/nacos/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(pkg.UserProvider)
+var grpcGreeterImpl = new(api.GreeterClientImpl)
func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
+ config.SetConsumerService(grpcGreeterImpl)
}
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
func main() {
- hessian.RegisterPOJO(&pkg.User{})
config.Load()
time.Sleep(3 * time.Second)
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply := &api.User{}
+ if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ logger.Error(err)
}
- gxlog.CInfo("response result: %v\n", user)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/configcenter/nacos/go-client/conf/client.yml b/configcenter/nacos/go-client/conf/client.yml
deleted file mode 100644
index 623d92d..0000000
--- a/configcenter/nacos/go-client/conf/client.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# config center config
-config_center:
- protocol: "nacos"
- address: "127.0.0.1:8848"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "user-info-client"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/configcenter/nacos/go-client/conf/dubbogo.yml b/configcenter/nacos/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..28255cc
--- /dev/null
+++ b/configcenter/nacos/go-client/conf/dubbogo.yml
@@ -0,0 +1,20 @@
+dubbo:
+ config-center:
+ protocol: nacos
+ address: 127.0.0.1:8848
+ data-id: "dubbo-go-samples-configcenter-nacos-client"
+
+## set in config center, group is 'dubbo', dataid is 'dubbo-go-samples-configcenter-nacos-client', namespace is default
+#dubbo:
+# registries:
+# "demoZK":
+# protocol: "zookeeper"
+# timeout: "3s"
+# address: "127.0.0.1:2181"
+# consumer:
+# registry:
+# - demoZK
+# references:
+# "greeterImpl":
+# protocol: "tri"
+# interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/configcenter/nacos/go-client/conf/log.yml b/configcenter/nacos/go-client/conf/log.yml
deleted file mode 100644
index d0400fe..0000000
--- a/configcenter/nacos/go-client/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/configcenter/nacos/go-client/pkg/user.go b/configcenter/nacos/go-client/pkg/user.go
deleted file mode 100644
index 7733ea4..0000000
--- a/configcenter/nacos/go-client/pkg/user.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/configcenter/nacos/go-server/cmd/server.go b/configcenter/nacos/go-server/cmd/server.go
index e8184fe..4f23c26 100644
--- a/configcenter/nacos/go-server/cmd/server.go
+++ b/configcenter/nacos/go-server/cmd/server.go
@@ -18,63 +18,30 @@
package main
import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
+ "context"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/config_center/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/configcenter/nacos/go-server/pkg"
-)
-
-var (
- survivalTimeout = int(3e9)
+ "github.com/apache/dubbo-go-samples/api"
)
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
-
- initSignal()
+type GreeterProvider struct {
+ api.GreeterProviderBase
}
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
- }
+func main() {
+ config.SetProviderService(&GreeterProvider{})
+ config.Load()
+ select {}
}
diff --git a/configcenter/nacos/go-server/conf/dubbogo.yml b/configcenter/nacos/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..d87b5c2
--- /dev/null
+++ b/configcenter/nacos/go-server/conf/dubbogo.yml
@@ -0,0 +1,24 @@
+dubbo:
+ config-center:
+ protocol: nacos
+ address: 127.0.0.1:8848
+ data-id: "dubbo-go-samples-configcenter-nacos-server"
+
+## set in config center, group is 'dubbo', dataid is 'dubbo-go-samples-configcenter-nacos-server', namespace is default
+#dubbo:
+# registries:
+# "demoZK":
+# protocol: "zookeeper"
+# timeout: "3s"
+# address: "127.0.0.1:2181"
+# protocols:
+# "triple":
+# name: "tri"
+# port: 20000
+# provider:
+# registry:
+# - demoZK
+# services:
+# "greeterImpl":
+# protocol: "triple"
+# interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/context/go-client/cmd/client.go b/context/dubbo/go-client/cmd/client.go
similarity index 86%
rename from context/go-client/cmd/client.go
rename to context/dubbo/go-client/cmd/client.go
index 56d46fd..b1a62d9 100644
--- a/context/go-client/cmd/client.go
+++ b/context/dubbo/go-client/cmd/client.go
@@ -19,6 +19,7 @@ package main
import (
"context"
+ pkg2 "github.com/apache/dubbo-go-samples/context/dubbo/go-client/pkg"
"os"
"time"
)
@@ -39,29 +40,25 @@ import (
"github.com/dubbogo/gost/log"
)
-import (
- "github.com/apache/dubbo-go-samples/context/go-client/pkg"
-)
-
-var userProvider = new(pkg.UserProvider)
+var userProvider = new(pkg2.UserProvider)
func init() {
config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.ContextContent{})
+ hessian.RegisterPOJO(&pkg2.ContextContent{})
}
// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
func main() {
- hessian.RegisterPOJO(&pkg.ContextContent{})
+ hessian.RegisterPOJO(&pkg2.ContextContent{})
config.Load()
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- rspContent := &pkg.ContextContent{}
+ rspContent := &pkg2.ContextContent{}
atta := make(map[string]interface{})
atta["string-value"] = "string-demo"
atta["int-value"] = 1231242
- atta["user-defined-value"] = pkg.ContextContent{InterfaceName: "test.interface.name"}
+ atta["user-defined-value"] = pkg2.ContextContent{InterfaceName: "test.interface.name"}
reqContext := context.WithValue(context.Background(), constant.DubboCtxKey("attachment"), atta)
err := userProvider.GetContext(reqContext, []interface{}{"A001"}, rspContent)
if err != nil {
diff --git a/context/go-client/conf/client.yml b/context/dubbo/go-client/conf/client.yml
similarity index 100%
rename from context/go-client/conf/client.yml
rename to context/dubbo/go-client/conf/client.yml
diff --git a/context/go-client/conf/log.yml b/context/dubbo/go-client/conf/log.yml
similarity index 100%
rename from context/go-client/conf/log.yml
rename to context/dubbo/go-client/conf/log.yml
diff --git a/context/go-client/pkg/user.go b/context/dubbo/go-client/pkg/user.go
similarity index 100%
rename from context/go-client/pkg/user.go
rename to context/dubbo/go-client/pkg/user.go
diff --git a/context/go-server/cmd/server.go b/context/dubbo/go-server/cmd/server.go
similarity index 94%
rename from context/go-server/cmd/server.go
rename to context/dubbo/go-server/cmd/server.go
index 853b6be..b72dec1 100644
--- a/context/go-server/cmd/server.go
+++ b/context/dubbo/go-server/cmd/server.go
@@ -19,6 +19,7 @@ package main
import (
"fmt"
+ pkg2 "github.com/apache/dubbo-go-samples/context/dubbo/go-server/pkg"
"os"
"os/signal"
"syscall"
@@ -39,17 +40,13 @@ import (
hessian "github.com/apache/dubbo-go-hessian2"
)
-import (
- "github.com/apache/dubbo-go-samples/context/go-server/pkg"
-)
-
var (
survivalTimeout = int(3e9)
)
// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
func main() {
- hessian.RegisterPOJO(&pkg.ContextContent{})
+ hessian.RegisterPOJO(&pkg2.ContextContent{})
config.Load()
initSignal()
diff --git a/context/go-server/conf/client.yml b/context/dubbo/go-server/conf/client.yml
similarity index 100%
copy from context/go-server/conf/client.yml
copy to context/dubbo/go-server/conf/client.yml
diff --git a/context/go-server/conf/log.yml b/context/dubbo/go-server/conf/log.yml
similarity index 100%
copy from context/go-server/conf/log.yml
copy to context/dubbo/go-server/conf/log.yml
diff --git a/context/go-server/conf/server.yml b/context/dubbo/go-server/conf/server.yml
similarity index 100%
copy from context/go-server/conf/server.yml
copy to context/dubbo/go-server/conf/server.yml
diff --git a/context/go-server/docker/docker-compose.yml b/context/dubbo/go-server/docker/docker-compose.yml
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to context/dubbo/go-server/docker/docker-compose.yml
diff --git a/context/go-server/docker/docker-health-check.sh b/context/dubbo/go-server/docker/docker-health-check.sh
similarity index 100%
copy from context/go-server/docker/docker-health-check.sh
copy to context/dubbo/go-server/docker/docker-health-check.sh
diff --git a/context/go-server/pkg/user.go b/context/dubbo/go-server/pkg/user.go
similarity index 100%
copy from context/go-server/pkg/user.go
copy to context/dubbo/go-server/pkg/user.go
diff --git a/context/go-server/tests/integration/main_test.go b/context/dubbo/go-server/tests/integration/main_test.go
similarity index 100%
copy from context/go-server/tests/integration/main_test.go
copy to context/dubbo/go-server/tests/integration/main_test.go
diff --git a/context/go-server/tests/integration/userprovider_test.go b/context/dubbo/go-server/tests/integration/userprovider_test.go
similarity index 100%
copy from context/go-server/tests/integration/userprovider_test.go
copy to context/dubbo/go-server/tests/integration/userprovider_test.go
diff --git a/config-api/go-server/pkg/user.go b/context/triple/go-client/cmd/client.go
similarity index 51%
rename from config-api/go-server/pkg/user.go
rename to context/triple/go-client/cmd/client.go
index 75d0916..da318b6 100644
--- a/config-api/go-server/pkg/user.go
+++ b/context/triple/go-client/cmd/client.go
@@ -15,48 +15,45 @@
* limitations under the License.
*/
-package pkg
+package main
import (
"context"
+ tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
"time"
)
import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
+import (
+ "github.com/apache/dubbo-go-samples/api"
+)
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
+var grpcGreeterImpl = new(api.GreeterClientImpl)
-func (u *UserProvider) Reference() string {
- return "UserProvider"
+func init() {
+ config.SetConsumerService(grpcGreeterImpl)
}
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
+func main() {
+ config.Load()
+ time.Sleep(3 * time.Second)
+
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply := &api.User{}
+ ctx := context.Background()
+ // set user defined context attachment
+ ctx = context.WithValue(ctx, tripleConstant.CtxAttachmentKey, "user-defined-value")
+ if err := grpcGreeterImpl.SayHello(ctx, req, reply); err != nil {
+ logger.Error(err)
+ }
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/context/triple/go-client/conf/dubbogo.yml b/context/triple/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..c11aef3
--- /dev/null
+++ b/context/triple/go-client/conf/dubbogo.yml
@@ -0,0 +1,13 @@
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "greeterImpl":
+ protocol: "tri"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/configcenter/nacos/go-server/pkg/user.go b/context/triple/go-server/cmd/server.go
similarity index 56%
rename from configcenter/nacos/go-server/pkg/user.go
rename to context/triple/go-server/cmd/server.go
index 75d0916..cf1fe46 100644
--- a/configcenter/nacos/go-server/pkg/user.go
+++ b/context/triple/go-server/cmd/server.go
@@ -15,48 +15,35 @@
* limitations under the License.
*/
-package pkg
+package main
import (
"context"
- "time"
)
import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+ tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
)
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
+import (
+ "github.com/apache/dubbo-go-samples/api"
+)
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
+type GreeterProvider struct {
+ api.GreeterProviderBase
}
-func (u *UserProvider) Reference() string {
- return "UserProvider"
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("get triple user attachment = %s", ctx.Value(tripleConstant.CtxAttachmentKey))
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
}
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
+func main() {
+ config.SetProviderService(&GreeterProvider{})
+ config.Load()
+ select {}
}
diff --git a/context/triple/go-server/conf/dubbogo.yml b/context/triple/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..5e9cfb4
--- /dev/null
+++ b/context/triple/go-server/conf/dubbogo.yml
@@ -0,0 +1,17 @@
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "triple":
+ name: "tri"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "greeterImpl":
+ protocol: "triple"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 16b4114..12ed8d4 100644
--- a/go.mod
+++ b/go.mod
@@ -1,14 +1,14 @@
module github.com/apache/dubbo-go-samples
require (
- dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210821071019-8cb93935d529
+ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e
github.com/alibaba/sentinel-golang v1.0.2
github.com/apache/dubbo-getty v1.4.3
github.com/apache/dubbo-go-hessian2 v1.9.2
github.com/bwmarrin/snowflake v0.3.0
github.com/dubbogo/gost v1.11.16
github.com/dubbogo/net v0.0.3
- github.com/dubbogo/triple v1.0.5
+ github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df
github.com/emicklei/go-restful/v3 v3.4.0
github.com/golang/protobuf v1.5.2
github.com/opentracing/opentracing-go v1.2.0
diff --git a/go.sum b/go.sum
index 89d7e37..559bd3c 100644
--- a/go.sum
+++ b/go.sum
@@ -12,8 +12,8 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210821071019-8cb93935d529 h1:bIIKczliDGFh9ZHVwOr5NPZKvbAF5XLNeHRDc2/ifsA=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210821071019-8cb93935d529/go.mod h1:EE3h5Dj/YxLm4hDnMsJ3MI50jHqZ3HJqE6IkdUKg4wc=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e h1:TnZXDmootOlIL+DZZkS7opNDwbFG2gT+Z9YeSLwKXy0=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e/go.mod h1:quHg7AMGZichyo/h2msHsjregY4oL0lEJlljPbpwgs0=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
@@ -21,7 +21,6 @@ github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxB
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
@@ -71,7 +70,6 @@ github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
-github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA=
@@ -79,15 +77,11 @@ github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edY
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23 h1:D21IyuvjDCshj1/qq+pCNd3VZOAEI9jy6Bi131YlXgI=
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
-github.com/bwmarrin/snowflake v0.3.0 h1:xm67bEhkKh6ij1790JB83OujPR5CzNe8QuQqAgISZN0=
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
-github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40 h1:xvUo53O5MRZhVMJAxWCJcS5HHrqAiAG9SJ1LpMu6aAI=
github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I=
@@ -97,13 +91,9 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
-github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5 h1:xD/lrqdvwsc+O2bjSSi3YqY73Ke3LAiSCx49aCesA0E=
github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo=
-github.com/cockroachdb/errors v1.2.4 h1:Lap807SXTH5tri2TivECb/4abUkMZC9zRoLarvcKDqs=
github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA=
-github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY=
github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
-github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -144,17 +134,14 @@ github.com/dubbogo/go-zookeeper v1.0.3 h1:UkuY+rBsxdT7Bs63QAzp9z7XqQ53W1j8E5rwl8
github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
-github.com/dubbogo/gost v1.11.13/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/gost v1.11.16 h1:fvOw8aKQ0BuUYuD+MaXAYFvT7tg2l7WAS5SL5gZJpFs=
github.com/dubbogo/gost v1.11.16/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
github.com/dubbogo/net v0.0.3 h1:2k53mh+1U8h1gFjJ8ykzyP4wNdAdgjc5moD+xVHI/AE=
github.com/dubbogo/net v0.0.3/go.mod h1:B6/ka3g8VzcyrmdCH4VkHP1K0aHeI37FmclS+TCwIBU=
-github.com/dubbogo/triple v1.0.1/go.mod h1:O6vQD2XLCWugzAk0P27HTW4+Uhkd8sjaQn0BZijdGzU=
-github.com/dubbogo/triple v1.0.5 h1:bDASS3u0ILC+KaUmWaDDuZ7/pVZcljyO/1TkwXMvcsM=
-github.com/dubbogo/triple v1.0.5/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
+github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df h1:YSfvAnU0ebwLqWnD+5HTTsFhqA+aE4Si2c10zBsUW7c=
+github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
-github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
@@ -171,20 +158,16 @@ github.com/envoyproxy/go-control-plane v0.8.0/go.mod h1:GSSbY9P1neVhdY7G4wu+IK1r
github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
-github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239 h1:Ghm4eQYC0nEPnSJdVkTrXpu9KtoVCSo1hg7mtI7G9KU=
github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239/go.mod h1:Gdwt2ce0yfBxPvZrHkprdPPTTS3N5rwmLE8T22KBXlw=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
-github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTgWiPvpYe4Xau31I0PRk=
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
-github.com/frankban/quicktest v1.4.1 h1:Wv2VwvNn73pAdFIVUQRXYDFp31lXKbqblIXo/Q5GPSg=
github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
-github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs=
github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
@@ -215,7 +198,6 @@ github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
-github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
@@ -228,7 +210,6 @@ github.com/go-redis/redis v6.15.5+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8w
github.com/go-resty/resty/v2 v2.3.0 h1:JOOeAvjSlapTT92p8xiS19Zxev1neGikoHsXJeOq8So=
github.com/go-resty/resty/v2 v2.3.0/go.mod h1:UpN9CgLZNsv4e9XG50UU8xdI0F43UQ4HmxLBDwaroHU=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
-github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
@@ -250,7 +231,6 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfU
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
@@ -279,14 +259,12 @@ github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8l
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
@@ -304,11 +282,9 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
-github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99 h1:twflg0XRTjwKpxb/jFExr4HGq6on2dEOmnL6FV+fgPw=
github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/mux v1.7.3 h1:gnP5JzjVOuiZD07fKKToCAOjS0yOpj/qPETTXCCS6hw=
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
@@ -317,13 +293,10 @@ github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
-github.com/grpc-ecosystem/go-grpc-middleware v1.2.2 h1:FlFbCRLd5Jr4iYXZufAvgWN6Ao0JrI5chLINnUXDDr0=
github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI=
-github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
-github.com/grpc-ecosystem/grpc-gateway v1.14.6 h1:8ERzHx8aj1Sc47mu9n/AksaKCSWrMchFtkdrS4BIj5o=
github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
@@ -357,7 +330,6 @@ github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
@@ -378,16 +350,13 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
github.com/jackc/pgx v3.6.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
-github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869 h1:IPJ3dvxmJ4uczJe5YQdrYB16oTJlGSC/OyZDqUk9xX4=
github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag=
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8 h1:mGIXW/lubQ4B+3bXTLxcTMTjUNDqoF6T/HUW9LbFx9s=
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
-github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
-github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -399,11 +368,9 @@ github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u
github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
-github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM=
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
github.com/k0kubun/pp v3.0.1+incompatible h1:3tqvf7QgUnZ5tXO6pNAZlrvHgl6DvifjDrd9g2S9Z40=
github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg=
@@ -418,15 +385,12 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxv
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
-github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
-github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570 h1:0iQektZGS248WXmGIYOwRXSQhD4qn3icjMpuxwO7qlo=
github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570/go.mod h1:BLt8L9ld7wVsvEWQbuLrUZnCMnUmLZ+CGDzKtclrTlE=
github.com/lestrrat/go-file-rotatelogs v0.0.0-20180223000712-d3151e2a480f h1:sgUSP4zdTUZYZgAGGtN5Lxk92rK+JUFOwf+FT99EEI4=
github.com/lestrrat/go-file-rotatelogs v0.0.0-20180223000712-d3151e2a480f/go.mod h1:UGmTpUd3rjbtfIpwAPrcfmGf/Z1HS95TATB+m57TPB8=
@@ -455,7 +419,6 @@ github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Ky
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v2.0.1+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
-github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
@@ -498,7 +461,6 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
-github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
@@ -514,23 +476,19 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
-github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492 h1:lM6RxxfUMrYL/f8bWEUqdXrANWtrL7Nndbm9iFN0DlU=
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
-github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5 h1:ZCnq+JUrvXcDVhX/xRolRBZifmabN1HcS1wrPSvxhrU=
github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA=
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
-github.com/openzipkin/zipkin-go v0.2.2 h1:nY8Hti+WKaP0cRsSeQ026wU03QsM762XBeCXBb9NAWI=
github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
-github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
@@ -545,16 +503,12 @@ github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi
github.com/pierrec/lz4 v2.2.6+incompatible h1:6aCX4/YZ9v8q69hTyiR7dNLnTA3fgtKHVVW5BCd5Znw=
github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pingcap/check v0.0.0-20190102082844-67f458068fc8/go.mod h1:B1+S9LNcuMyLH/4HMTViQOJevkGiik3wW2AN9zb2fNQ=
-github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712 h1:R8gStypOBmpnHEx1qi//SaqxJVI4inOqljg/Aj5/390=
github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc=
github.com/pingcap/errors v0.11.0/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
-github.com/pingcap/errors v0.11.5-0.20190809092503-95897b64e011 h1:58naV4XMEqm0hl9LcYo6cZoGBGiLtefMQMF/vo3XLgQ=
github.com/pingcap/errors v0.11.5-0.20190809092503-95897b64e011/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
github.com/pingcap/log v0.0.0-20191012051959-b742a5d432e9/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
-github.com/pingcap/log v0.0.0-20200117041106-d28c14d3b1cd h1:CV3VsP3Z02MVtdpTMfEgRJ4T9NGgGTxdHpJerent7rM=
github.com/pingcap/log v0.0.0-20200117041106-d28c14d3b1cd/go.mod h1:4rbK1p9ILyIfb6hU7OG2CiWSqMXnp3JMbiaVJ6mvoY8=
-github.com/pingcap/parser v0.0.0-20200424075042-8222d8b724a4 h1:1dFbm4zVXWvdwjEdyjMlu1PCxnlxK+JfNq+HhbGjDtc=
github.com/pingcap/parser v0.0.0-20200424075042-8222d8b724a4/go.mod h1:9v0Edh8IbgjGYW2ArJr19E+bvL8zKahsFp+ixWeId+4=
github.com/pingcap/tipb v0.0.0-20190428032612-535e1abaa330/go.mod h1:RtkHW8WbcNxj8lsbzjaILci01CtYnYbIkQhjyZWrWVI=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -563,7 +517,6 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
@@ -574,13 +527,11 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn
github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
-github.com/prometheus/client_golang v1.9.0 h1:Rrch9mh17XcxvEu9D9DEpb4isxjGBtcevQjKvxPRQIU=
github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
@@ -590,7 +541,6 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA=
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
-github.com/prometheus/common v0.15.0 h1:4fgOnadei3EZvgRwxJ7RMpG1k1pOZth5Pc13tyspaKM=
github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -599,7 +549,6 @@ github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7z
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
-github.com/prometheus/procfs v0.2.0 h1:wH4vA7pcjKuZzjF7lM8awk4fnuJO6idemZXoKnULUx4=
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
@@ -617,7 +566,6 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b h1:gQZ0qzfKHQIybLANtM3mBXNUtOfsCFXeTsnBqCsx1KM=
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
-github.com/shima-park/agollo v1.2.6 h1:5COt4poF4kWPLE7iean0hsnKZPrDQz9nRLqvU9Qwmi8=
github.com/shima-park/agollo v1.2.6/go.mod h1:pbHN4SgHDd84eTKyhCvG2LjQ+6mcZq/fEkElxL+oRYk=
github.com/shirou/gopsutil v3.20.11-0.20201116082039-2fb5da2f2449+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shirou/gopsutil v3.20.11+incompatible h1:LJr4ZQK4mPpIV5gOa4jCOKOGb4ty4DZO54I4FGqIpto=
@@ -627,15 +575,11 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
-github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
-github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
-github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5 h1:GJTW+uNMIV1RKwox+T4aN0/sQlYRg78uHZf2H0aBcDw=
github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
@@ -663,7 +607,6 @@ github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3
github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
@@ -671,27 +614,20 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
-github.com/tebeka/strftime v0.1.3 h1:5HQXOqWKYRFfNyBMNVc9z5+QzuBtIXy03psIhtdJYto=
github.com/tebeka/strftime v0.1.3/go.mod h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ=
-github.com/tevid/gohamcrest v1.1.1 h1:ou+xSqlIw1xfGTg1uq1nif/htZ2S3EzRqLm2BP+tYU0=
github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmc/grpc-websocket-proxy v0.0.0-20200427203606-3cfed13b9966/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
-github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802 h1:uruHq4dN7GR16kFc5fp3d1RIYzJW5onx8Ybykw2YQFA=
github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3 h1:kF/7m/ZU+0D4Jj5eZ41Zm3IH/J8OElK1Qtd7tVKAwLk=
github.com/toolkits/concurrent v0.0.0-20150624120057-a4371d70e3e3/go.mod h1:QDlpd3qS71vYtakd2hmdpqhJ9nwv6mD6A30bQ1BPBFE=
-github.com/transaction-wg/seata-golang v0.2.0 h1:Thoe2omQUiwE/uSKNj4Hr4JMoSaeFxU0Q/it5hvHd88=
github.com/transaction-wg/seata-golang v0.2.0/go.mod h1:L9vMoZxvLX4BuXQ13vFPCwFfXRLP0Bhr97z+6jm49Dw=
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=
-github.com/uber/jaeger-client-go v2.22.1+incompatible h1:NHcubEkVbahf9t3p75TOCR83gdUHXjRJvjoBh1yACsM=
github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
-github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw=
github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
@@ -703,7 +639,6 @@ github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxW
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
-github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -714,21 +649,17 @@ github.com/zouyx/agollo/v3 v3.4.5 h1:7YCxzY9ZYaH9TuVUBvmI6Tk0mwMggikah+cfbYogcHQ
github.com/zouyx/agollo/v3 v3.4.5/go.mod h1:LJr3kDmm23QSW+F1Ol4TMHDa7HvJvscMdVxJ2IpUTVc=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
-go.etcd.io/bbolt v1.3.5 h1:XAzx9gjCb0Rxj7EoqcClPD1d5ZBxZJk0jbuoPHenBt0=
go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0fZcnECiDrKJsfxka0=
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.etcd.io/etcd/api/v3 v3.5.0-alpha.0 h1:+e5nrluATIy3GP53znpkHMFzPTHGYyzvJGFCbuI6ZLc=
go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw=
-go.etcd.io/etcd/client/v2 v2.305.0-alpha.0 h1:jZepGpOeJATxsbMNBZczDS2jHdK/QVHM1iPe9jURJ8o=
go.etcd.io/etcd/client/v2 v2.305.0-alpha.0/go.mod h1:kdV+xzCJ3luEBSIeQyB/OEKkWKd8Zkux4sbDeANrosU=
go.etcd.io/etcd/client/v3 v3.5.0-alpha.0 h1:dr1EOILak2pu4Nf5XbRIOCNIBjcz6UmkQd7hHRXwxaM=
go.etcd.io/etcd/client/v3 v3.5.0-alpha.0/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8=
go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0 h1:3yLUEC0nFCxw/RArImOyRUI4OAFbg4PFpBbAhSNzKNY=
go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0/go.mod h1:tV31atvwzcybuqejDoY3oaNRTtlD2l/Ot78Pc9w7DMY=
-go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0 h1:DvYJotxV9q1Lkn7pknzAbFO/CLtCVidCr2K9qRLJ8pA=
go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0/go.mod h1:FAwse6Zlm5v4tEWZaTjmNhe17Int4Oxbu7+2r0DiD3w=
-go.etcd.io/etcd/server/v3 v3.5.0-alpha.0 h1:fYv7CmmdyuIu27UmKQjS9K/1GtcCa+XnPKqiKBbQkrk=
go.etcd.io/etcd/server/v3 v3.5.0-alpha.0/go.mod h1:tsKetYpt980ZTpzl/gb+UOJj9RkIyCb1u4wjzMg90BQ=
go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk=
@@ -746,7 +677,6 @@ go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+
go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
-go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
@@ -785,7 +715,6 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
@@ -794,7 +723,6 @@ golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -830,7 +758,6 @@ golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d h1:TzXSXBo42m9gQenoE3b9BGiEpg5IG2JkU5FkPIawgtw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -899,7 +826,6 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20201208040808-7e3f01d25324 h1:Hir2P/De0WpUhtrKGGjvSb2YxUgyZ7EFOSLIcSSpiwE=
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -934,12 +860,10 @@ golang.org/x/tools v0.0.0-20200325203130-f53864d0dba1/go.mod h1:Sl4aGygMT6LrqrWc
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200928182047-19e03678916f/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
golang.org/x/tools v0.0.0-20201014170642-d1624618ad65/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
-golang.org/x/tools v0.0.0-20210106214847-113979e3529a h1:CB3a9Nez8M13wwlr/E2YtwoU+qYHKfC+JrDa45RXXoQ=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
@@ -952,7 +876,6 @@ google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -1009,20 +932,17 @@ gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUy
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
-gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
@@ -1038,9 +958,7 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
@@ -1048,14 +966,11 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2020.1.3 h1:sXmLre5bzIR6ypkjXCDI3jHPssRhc8KD/Ome589sc3U=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
istio.io/gogo-genproto v0.0.0-20190124151557-6d926a6e6feb/go.mod h1:eIDJ6jNk/IeJz6ODSksHl5Aiczy5JUq6vFhJWI5OtiI=
-k8s.io/api v0.16.9 h1:3vCx0WX9qcg1Hv4aQ/G1tiIKectGVuimvPVTJU4VOCA=
k8s.io/api v0.16.9/go.mod h1:Y7dZNHs1Xy0mSwSlzL9QShi6qkljnN41yR8oWCRTDe8=
k8s.io/apimachinery v0.16.9 h1:ESUZ4hMBUKF2kn2HBFL5zM/wQv4j/0uRbR7AjgqGJ4o=
k8s.io/apimachinery v0.16.9/go.mod h1:Xk2vD2TRRpuWYLQNM6lT9R7DSFZUYG03SarNkbGrnKE=
-k8s.io/client-go v0.16.9 h1:6Eh4lMDxFtDzBkqid1AOL3bQ/pPYrulx8l23DXw4mRU=
k8s.io/client-go v0.16.9/go.mod h1:ThjPlh7Kx+XoBFOCt775vx5J7atwY7F/zaFzTco5gL0=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
@@ -1064,17 +979,13 @@ k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
-k8s.io/utils v0.0.0-20190801114015-581e00157fb1 h1:+ySTxfHnfzZb9ys375PXNlLhkJPLKgHajBU0N62BDvE=
k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
-sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU=
-vimagination.zapto.org/byteio v0.0.0-20200222190125-d27cba0f0b10 h1:pxt6fVJP67Hxo1qk8JalUghLlk3abYByl+3e0JYfUlE=
vimagination.zapto.org/byteio v0.0.0-20200222190125-d27cba0f0b10/go.mod h1:fl9OF22g6MTKgvHA1hqMXe/L7+ULWofVTwbC9loGu7A=
-vimagination.zapto.org/memio v0.0.0-20200222190306-588ebc67b97d h1:Mp6WiHHuiwHaknxTdxJ8pvC9/B4pOgW1PamKGexG7Fs=
vimagination.zapto.org/memio v0.0.0-20200222190306-588ebc67b97d/go.mod h1:zHGDKp2tyvF4IAfLti4pKYqCJucXYmmKMb3UMrCHK/4=
xorm.io/builder v0.3.6/go.mod h1:LEFAPISnRzG+zxaxj2vPicRwz67BdhFreKg8yv8/TgU=
xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb/go.mod h1:jJfd0UAEzZ4t87nbQYtVjmqpIODugN6PD2D9E+dJvdM=
diff --git a/config-api/go-server/docker/docker-compose.yml b/integrate_test/config-api/configcenter/docker/docker-compose.yml
similarity index 100%
rename from config-api/go-server/docker/docker-compose.yml
rename to integrate_test/config-api/configcenter/docker/docker-compose.yml
diff --git a/config-api/go-server/tests/integration/main_test.go b/integrate_test/config-api/configcenter/tests/integration/main_test.go
similarity index 75%
copy from config-api/go-server/tests/integration/main_test.go
copy to integrate_test/config-api/configcenter/tests/integration/main_test.go
index d028c55..d8a0568 100644
--- a/config-api/go-server/tests/integration/main_test.go
+++ b/integrate_test/config-api/configcenter/tests/integration/main_test.go
@@ -20,7 +20,6 @@
package integration
import (
- "context"
"os"
"testing"
"time"
@@ -36,36 +35,18 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
- hessian "github.com/apache/dubbo-go-hessian2"
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(UserProvider)
+var greeterProvider = new(dubbo3pb.GreeterClientImpl)
func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
+ config.SetConsumerService(greeterProvider)
config.Load()
time.Sleep(3 * time.Second)
os.Exit(m.Run())
}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/config-api/go-server/tests/integration/userprovider_test.go b/integrate_test/config-api/configcenter/tests/integration/userprovider_test.go
similarity index 67%
rename from config-api/go-server/tests/integration/userprovider_test.go
rename to integrate_test/config-api/configcenter/tests/integration/userprovider_test.go
index 7183e64..992c55d 100644
--- a/config-api/go-server/tests/integration/userprovider_test.go
+++ b/integrate_test/config-api/configcenter/tests/integration/userprovider_test.go
@@ -28,12 +28,24 @@ import (
"github.com/stretchr/testify/assert"
)
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
+)
+
+func TestSayHello(t *testing.T) {
+ req := &dubbo3pb.HelloRequest{
+ Name: "laurence",
+ }
+
+ reply := &dubbo3pb.User{}
+
+ ctx := context.Background()
+ ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
+
+ err := greeterProvider.SayHello(ctx, req, reply)
+
assert.Nil(t, err)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
+ assert.Equal(t, "Hello laurence", reply.Name)
+ assert.Equal(t, "12345", reply.Id)
+ assert.Equal(t, int32(21), reply.Age)
}
diff --git a/context/go-server/docker/docker-compose.yml b/integrate_test/config-api/rpc/triple/docker/docker-compose.yml
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to integrate_test/config-api/rpc/triple/docker/docker-compose.yml
diff --git a/config-api/go-server/tests/integration/main_test.go b/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
similarity index 75%
rename from config-api/go-server/tests/integration/main_test.go
rename to integrate_test/config-api/rpc/triple/tests/integration/main_test.go
index d028c55..d8a0568 100644
--- a/config-api/go-server/tests/integration/main_test.go
+++ b/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
@@ -20,7 +20,6 @@
package integration
import (
- "context"
"os"
"testing"
"time"
@@ -36,36 +35,18 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
- hessian "github.com/apache/dubbo-go-hessian2"
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(UserProvider)
+var greeterProvider = new(dubbo3pb.GreeterClientImpl)
func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
+ config.SetConsumerService(greeterProvider)
config.Load()
time.Sleep(3 * time.Second)
os.Exit(m.Run())
}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/config-api/go-client/pkg/user.go b/integrate_test/config-api/rpc/triple/tests/integration/userprovider_test.go
similarity index 59%
rename from config-api/go-client/pkg/user.go
rename to integrate_test/config-api/rpc/triple/tests/integration/userprovider_test.go
index 7733ea4..992c55d 100644
--- a/config-api/go-client/pkg/user.go
+++ b/integrate_test/config-api/rpc/triple/tests/integration/userprovider_test.go
@@ -1,3 +1,5 @@
+// +build integration
+
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -15,28 +17,35 @@
* limitations under the License.
*/
-package pkg
+package integration
import (
"context"
- "time"
+ "testing"
)
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
+import (
+ "github.com/stretchr/testify/assert"
+)
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
+)
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
+func TestSayHello(t *testing.T) {
+ req := &dubbo3pb.HelloRequest{
+ Name: "laurence",
+ }
+
+ reply := &dubbo3pb.User{}
+
+ ctx := context.Background()
+ ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
+
+ err := greeterProvider.SayHello(ctx, req, reply)
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
+ assert.Nil(t, err)
+ assert.Equal(t, "Hello laurence", reply.Name)
+ assert.Equal(t, "12345", reply.Id)
+ assert.Equal(t, int32(21), reply.Age)
}
diff --git a/configcenter/nacos/go-server/conf/client.yml b/integrate_test/configcenter/nacos/conf/client.yml
similarity index 100%
rename from configcenter/nacos/go-server/conf/client.yml
rename to integrate_test/configcenter/nacos/conf/client.yml
diff --git a/configcenter/nacos/go-server/conf/log.yml b/integrate_test/configcenter/nacos/conf/log.yml
similarity index 100%
rename from configcenter/nacos/go-server/conf/log.yml
rename to integrate_test/configcenter/nacos/conf/log.yml
diff --git a/configcenter/nacos/go-server/conf/server.yml b/integrate_test/configcenter/nacos/conf/server.yml
similarity index 100%
rename from configcenter/nacos/go-server/conf/server.yml
rename to integrate_test/configcenter/nacos/conf/server.yml
diff --git a/configcenter/nacos/go-server/docker/docker-compose.yml b/integrate_test/configcenter/nacos/docker/docker-compose.yml
similarity index 100%
rename from configcenter/nacos/go-server/docker/docker-compose.yml
rename to integrate_test/configcenter/nacos/docker/docker-compose.yml
diff --git a/configcenter/nacos/go-server/docker/docker-health-check.sh b/integrate_test/configcenter/nacos/docker/docker-health-check.sh
similarity index 100%
rename from configcenter/nacos/go-server/docker/docker-health-check.sh
rename to integrate_test/configcenter/nacos/docker/docker-health-check.sh
diff --git a/configcenter/nacos/go-server/tests/integration/main_test.go b/integrate_test/configcenter/nacos/tests/integration/main_test.go
similarity index 100%
rename from configcenter/nacos/go-server/tests/integration/main_test.go
rename to integrate_test/configcenter/nacos/tests/integration/main_test.go
diff --git a/configcenter/nacos/go-server/tests/integration/userprovider_test.go b/integrate_test/configcenter/nacos/tests/integration/userprovider_test.go
similarity index 100%
rename from configcenter/nacos/go-server/tests/integration/userprovider_test.go
rename to integrate_test/configcenter/nacos/tests/integration/userprovider_test.go
diff --git a/context/go-server/conf/client.yml b/integrate_test/context/dubbo/conf/client.yml
similarity index 100%
rename from context/go-server/conf/client.yml
rename to integrate_test/context/dubbo/conf/client.yml
diff --git a/config-api/go-server/conf/log.yml b/integrate_test/context/dubbo/conf/log.yml
similarity index 100%
rename from config-api/go-server/conf/log.yml
rename to integrate_test/context/dubbo/conf/log.yml
diff --git a/context/go-server/conf/server.yml b/integrate_test/context/dubbo/conf/server.yml
similarity index 100%
rename from context/go-server/conf/server.yml
rename to integrate_test/context/dubbo/conf/server.yml
diff --git a/context/go-server/pkg/user.go b/integrate_test/context/dubbo/pkg/user.go
similarity index 100%
rename from context/go-server/pkg/user.go
rename to integrate_test/context/dubbo/pkg/user.go
diff --git a/context/go-server/tests/integration/main_test.go b/integrate_test/context/dubbo/tests/integration/main_test.go
similarity index 100%
rename from context/go-server/tests/integration/main_test.go
rename to integrate_test/context/dubbo/tests/integration/main_test.go
diff --git a/context/go-server/tests/integration/userprovider_test.go b/integrate_test/context/dubbo/tests/integration/userprovider_test.go
similarity index 100%
rename from context/go-server/tests/integration/userprovider_test.go
rename to integrate_test/context/dubbo/tests/integration/userprovider_test.go
diff --git a/context/go-server/docker/docker-compose.yml b/integrate_test/helloworld/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to integrate_test/helloworld/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/integrate_test/registry/zookeeper/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to integrate_test/registry/zookeeper/docker/docker-compose.yml~merged
diff --git a/config-api/go-server/docker/docker-health-check.sh b/integrate_test/registry/zookeeper/docker/docker-health-check.sh~merged
similarity index 100%
rename from config-api/go-server/docker/docker-health-check.sh
rename to integrate_test/registry/zookeeper/docker/docker-health-check.sh~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/dubbo/go-server/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/dubbo/go-server/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-health-check.sh b/rpc/dubbo/go-server/docker/docker-health-check.sh~merged
similarity index 100%
rename from context/go-server/docker/docker-health-check.sh
rename to rpc/dubbo/go-server/docker/docker-health-check.sh~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml~merged
diff --git a/config-api/go-client/conf/log.yml b/rpc/grpc/go-client/conf/log.yml~merged
similarity index 100%
rename from config-api/go-client/conf/log.yml
rename to rpc/grpc/go-client/conf/log.yml~merged
diff --git a/context/go-server/conf/log.yml b/rpc/grpc/go-server/conf/log.yml~merged
similarity index 100%
rename from context/go-server/conf/log.yml
rename to rpc/grpc/go-server/conf/log.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/rest/go-client/docker/docker-compose.yml~merged
similarity index 100%
copy from context/go-server/docker/docker-compose.yml
copy to rpc/rest/go-client/docker/docker-compose.yml~merged
diff --git a/context/go-server/docker/docker-compose.yml b/rpc/rest/go-server/docker/docker-compose.yml~merged
similarity index 100%
rename from context/go-server/docker/docker-compose.yml
rename to rpc/rest/go-server/docker/docker-compose.yml~merged
[dubbo-go-samples] 06/14: update triple user api to standard,
add hessian2 samples (#211)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 1320da55ef88da7b6716203843b4ef38b256cd5b
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Thu Aug 26 22:23:04 2021 +0800
update triple user api to standard, add hessian2 samples (#211)
* fix
* fix: init helloworld and registry zk
* fix: change general to rpc
* fix: add some samples
* fix: update triple user api to standard, add hessian2 samples
---
.run/triple/triplego-hessian-client.run.xml | 15 ---
.run/triple/triplego-hessian-server.run.xml | 3 +-
api/samples_api.pb.go | 13 +-
config-api/configcenter/go-client/cmd/client.go | 4 +-
config-api/configcenter/go-server/cmd/server.go | 2 +-
config-api/rpc/triple/go-client/cmd/client.go | 4 +-
configcenter/nacos/go-client/cmd/client.go | 4 +-
context/dubbo/go-client/cmd/client.go | 5 +-
context/dubbo/go-server/cmd/server.go | 5 +-
context/triple/go-client/cmd/client.go | 3 +-
context/triple/go-server/cmd/server.go | 1 +
game/go-server-game/cmd/server.go | 16 +--
game/go-server-game/tests/integration/main_test.go | 1 +
game/go-server-gate/cmd/server.go | 1 +
generic/protobufjson/go-client/cmd/client.go | 9 +-
generic/protobufjson/go-server/cmd/server.go | 8 +-
generic/protobufjson/go-server/pkg/user.pb.go | 8 +-
.../go-server/tests/integration/main_test.go | 12 +-
.../tests/integration/userprovider_test.go | 5 +-
go.mod | 15 ++-
go.sum | 134 +++++++++++++++++++
helloworld/go-client/cmd/client.go | 4 +-
helloworld/go-server/cmd/server.go | 1 +
.../rpc/hessian2}/conf/client.yml | 0
.../rpc/hessian2}/conf/log.yml | 0
.../rpc/hessian2}/conf/server.yml | 0
.../rpc/hessian2}/docker/docker-compose.yml | 0
.../rpc/hessian2}/docker/docker-compose.yml~merged | 0
.../rpc/hessian2}/docker/docker-health-check.sh | 0
.../rpc/hessian2}/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
.../go-server-hz/tests/integration/main_test.go | 1 +
.../tests/integration/userprovider_test.go | 1 +
.../go-server-sh/tests/integration/main_test.go | 1 +
.../tests/integration/userprovider_test.go | 1 +
.../servicediscovery/etcd/go-client/cmd/client.go | 2 +
.../servicediscovery/etcd/go-server/cmd/server.go | 4 +-
.../servicediscovery/etcd/go-server/pkg/user.go | 7 +-
.../etcd/go-server/tests/integration/main_test.go | 15 ++-
.../tests/integration/userprovider_test.go | 1 +
registry/zookeeper/go-client/cmd/client.go | 4 +-
rpc/dubbo/go-client/pkg/user.go | 10 +-
rpc/dubbo3/hessian2/go-client/cmd/client.go | 142 ++++++++++++++++++---
.../hessian2/go-client/cmd/complex_service.go | 66 ++++++++++
.../hessian2/go-client/cmd/simple_service.go | 19 +++
rpc/dubbo3/hessian2/go-client/conf/client.yml | 32 -----
rpc/dubbo3/hessian2/go-client/conf/dubbogo.yml | 18 +++
rpc/dubbo3/hessian2/go-client/conf/log.yml | 27 ----
rpc/dubbo3/hessian2/go-client/pkg/hello.go | 40 ------
.../hessian2/go-server/cmd/complex_service.go | 104 +++++++++++++++
rpc/dubbo3/hessian2/go-server/cmd/server.go | 27 ++--
.../hessian2/go-server/cmd/simple_service.go | 29 +++++
rpc/dubbo3/hessian2/go-server/conf/dubbogo.yml | 22 ++++
rpc/dubbo3/hessian2/go-server/pkg/greeter.go | 57 ---------
rpc/dubbo3/hessian2/java-client/pom.xml | 2 +-
.../com/apache/dubbo/sample/basic/ApiConsumer.java | 54 +++++---
.../com/apache/dubbo/sample/basic/ComplexData.java | 21 +++
.../apache/dubbo/sample/basic/ComplexProvider.java | 11 ++
rpc/dubbo3/hessian2/java-server/pom.xml | 2 +-
.../com/apache/dubbo/sample/basic/ApiProvider.java | 6 +-
.../com/apache/dubbo/sample/basic/ComplexData.java | 37 ++++++
.../apache/dubbo/sample/basic/ComplexProvider.java | 10 ++
.../dubbo/sample/basic/ComplexProviderImpl.java | 35 +++++
.../pb/dubbogo-grpc/server/grpcgo-server/main.go | 1 -
.../pb/dubbogo-java/protobuf/helloworld.pb.go | 1 -
.../dubbo/go-server/tests/integration/main_test.go | 6 +-
.../tests/integration/userprovider_test.go | 9 +-
tracing/grpc/go-server/app/helloworld.pb.go | 4 +-
68 files changed, 795 insertions(+), 307 deletions(-)
diff --git a/.run/triple/triplego-hessian-client.run.xml b/.run/triple/triplego-hessian-client.run.xml
deleted file mode 100644
index 542d476..0000000
--- a/.run/triple/triplego-hessian-client.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="triplego-hessian-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="triple">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/hessian2/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/hessian2/go-client/conf/client.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/hessian2/go-client/cmd" />
- <directory value="$PROJECT_DIR$" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/hessian2/go-client/cmd/client.go" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/triple/triplego-hessian-server.run.xml b/.run/triple/triplego-hessian-server.run.xml
index 5d0d252..2d43990 100644
--- a/.run/triple/triplego-hessian-server.run.xml
+++ b/.run/triple/triplego-hessian-server.run.xml
@@ -3,8 +3,7 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$//general/dubbo3/hessian2/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/hessian2/go-server/conf/server.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/rpc/dubbo3/hessian2/go-server/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
<package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/hessian2/go-server/cmd" />
diff --git a/api/samples_api.pb.go b/api/samples_api.pb.go
index cf48c46..5451e2c 100644
--- a/api/samples_api.pb.go
+++ b/api/samples_api.pb.go
@@ -6,10 +6,6 @@ package api
import (
context "context"
fmt "fmt"
- proto "github.com/golang/protobuf/proto"
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
math "math"
)
@@ -17,8 +13,15 @@ import (
"dubbo.apache.org/dubbo-go/v3/protocol"
dgrpc "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
"dubbo.apache.org/dubbo-go/v3/protocol/invocation"
+
tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
dubbo3 "github.com/dubbogo/triple/pkg/triple"
+
+ proto "github.com/golang/protobuf/proto"
+
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
)
// Reference imports to suppress errors if they are not otherwise used.
@@ -171,7 +174,7 @@ func (c *greeterDubbo3Client) SayHello(ctx context.Context, in *HelloRequest, op
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GreeterClientImpl struct {
// Sends a greeting
- SayHello func(ctx context.Context, in *HelloRequest, out *User) error
+ SayHello func(ctx context.Context, in *HelloRequest) (*User, error)
}
func (c *GreeterClientImpl) Reference() string {
diff --git a/config-api/configcenter/go-client/cmd/client.go b/config-api/configcenter/go-client/cmd/client.go
index 823642a..827a88f 100644
--- a/config-api/configcenter/go-client/cmd/client.go
+++ b/config-api/configcenter/go-client/cmd/client.go
@@ -58,8 +58,8 @@ func main() {
req := &api.HelloRequest{
Name: "laurence",
}
- reply := &api.User{}
- if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
+ if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
diff --git a/config-api/configcenter/go-server/cmd/server.go b/config-api/configcenter/go-server/cmd/server.go
index 0b511ac..4f3a374 100644
--- a/config-api/configcenter/go-server/cmd/server.go
+++ b/config-api/configcenter/go-server/cmd/server.go
@@ -19,11 +19,11 @@ package main
import (
"context"
- "dubbo.apache.org/dubbo-go/v3/config"
)
import (
"dubbo.apache.org/dubbo-go/v3/common/logger"
+ "dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
)
diff --git a/config-api/rpc/triple/go-client/cmd/client.go b/config-api/rpc/triple/go-client/cmd/client.go
index c17c6ba..827bba1 100644
--- a/config-api/rpc/triple/go-client/cmd/client.go
+++ b/config-api/rpc/triple/go-client/cmd/client.go
@@ -65,8 +65,8 @@ func main() {
req := &api.HelloRequest{
Name: "laurence",
}
- reply := &api.User{}
- if err := tripleGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ reply, err := tripleGreeterImpl.SayHello(context.Background(), req)
+ if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
diff --git a/configcenter/nacos/go-client/cmd/client.go b/configcenter/nacos/go-client/cmd/client.go
index 68fe2c0..2c0c7ad 100644
--- a/configcenter/nacos/go-client/cmd/client.go
+++ b/configcenter/nacos/go-client/cmd/client.go
@@ -47,8 +47,8 @@ func main() {
req := &api.HelloRequest{
Name: "laurence",
}
- reply := &api.User{}
- if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
+ if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
diff --git a/context/dubbo/go-client/cmd/client.go b/context/dubbo/go-client/cmd/client.go
index b1a62d9..f6fd0a2 100644
--- a/context/dubbo/go-client/cmd/client.go
+++ b/context/dubbo/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
import (
"context"
- pkg2 "github.com/apache/dubbo-go-samples/context/dubbo/go-client/pkg"
"os"
"time"
)
@@ -40,6 +39,10 @@ import (
"github.com/dubbogo/gost/log"
)
+import (
+ pkg2 "github.com/apache/dubbo-go-samples/context/dubbo/go-client/pkg"
+)
+
var userProvider = new(pkg2.UserProvider)
func init() {
diff --git a/context/dubbo/go-server/cmd/server.go b/context/dubbo/go-server/cmd/server.go
index b72dec1..8586f22 100644
--- a/context/dubbo/go-server/cmd/server.go
+++ b/context/dubbo/go-server/cmd/server.go
@@ -19,7 +19,6 @@ package main
import (
"fmt"
- pkg2 "github.com/apache/dubbo-go-samples/context/dubbo/go-server/pkg"
"os"
"os/signal"
"syscall"
@@ -40,6 +39,10 @@ import (
hessian "github.com/apache/dubbo-go-hessian2"
)
+import (
+ pkg2 "github.com/apache/dubbo-go-samples/context/dubbo/go-server/pkg"
+)
+
var (
survivalTimeout = int(3e9)
)
diff --git a/context/triple/go-client/cmd/client.go b/context/triple/go-client/cmd/client.go
index da318b6..f3f19d3 100644
--- a/context/triple/go-client/cmd/client.go
+++ b/context/triple/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
import (
"context"
- tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
"time"
)
@@ -27,6 +26,8 @@ import (
"dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
+ tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
)
import (
diff --git a/context/triple/go-server/cmd/server.go b/context/triple/go-server/cmd/server.go
index cf1fe46..fdd3916 100644
--- a/context/triple/go-server/cmd/server.go
+++ b/context/triple/go-server/cmd/server.go
@@ -25,6 +25,7 @@ import (
"dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
)
diff --git a/game/go-server-game/cmd/server.go b/game/go-server-game/cmd/server.go
index e0853a8..e45b268 100755
--- a/game/go-server-game/cmd/server.go
+++ b/game/go-server-game/cmd/server.go
@@ -5,26 +5,24 @@ import (
"os/signal"
"syscall"
"time"
+)
- hessian "github.com/apache/dubbo-go-hessian2"
-
+import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
-
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
-
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
-
_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
-
_ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
-
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
-
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
-
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+ hessian "github.com/apache/dubbo-go-hessian2"
+)
+
+import (
"github.com/apache/dubbo-go-samples/game/go-server-game/pkg"
"github.com/apache/dubbo-go-samples/game/pkg/pojo"
)
diff --git a/game/go-server-game/tests/integration/main_test.go b/game/go-server-game/tests/integration/main_test.go
index 057d58f..dc7a38e 100755
--- a/game/go-server-game/tests/integration/main_test.go
+++ b/game/go-server-game/tests/integration/main_test.go
@@ -16,6 +16,7 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
hessian "github.com/apache/dubbo-go-hessian2"
)
diff --git a/game/go-server-gate/cmd/server.go b/game/go-server-gate/cmd/server.go
index 976445c..5fd64fc 100755
--- a/game/go-server-gate/cmd/server.go
+++ b/game/go-server-gate/cmd/server.go
@@ -23,6 +23,7 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
hessian "github.com/apache/dubbo-go-hessian2"
)
diff --git a/generic/protobufjson/go-client/cmd/client.go b/generic/protobufjson/go-client/cmd/client.go
index b2964cf..146cbb4 100644
--- a/generic/protobufjson/go-client/cmd/client.go
+++ b/generic/protobufjson/go-client/cmd/client.go
@@ -27,11 +27,6 @@ import (
)
import (
- hessian "github.com/apache/dubbo-go-hessian2"
- "github.com/dubbogo/gost/log"
-)
-
-import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
@@ -41,6 +36,10 @@ import (
"dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+ hessian "github.com/apache/dubbo-go-hessian2"
+
+ "github.com/dubbogo/gost/log"
)
var (
diff --git a/generic/protobufjson/go-server/cmd/server.go b/generic/protobufjson/go-server/cmd/server.go
index 87a9d5f..5d78ee0 100644
--- a/generic/protobufjson/go-server/cmd/server.go
+++ b/generic/protobufjson/go-server/cmd/server.go
@@ -26,10 +26,6 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/generic/protobufjson/go-server/pkg"
-)
-
-import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
@@ -41,6 +37,10 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
)
+import (
+ "github.com/apache/dubbo-go-samples/generic/protobufjson/go-server/pkg"
+)
+
func init() {
config.SetProviderService(new(pkg.UserProvider))
}
diff --git a/generic/protobufjson/go-server/pkg/user.pb.go b/generic/protobufjson/go-server/pkg/user.pb.go
index 1c1ef8b..1166267 100644
--- a/generic/protobufjson/go-server/pkg/user.pb.go
+++ b/generic/protobufjson/go-server/pkg/user.pb.go
@@ -7,12 +7,16 @@
package pkg
import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
+import (
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+)
+
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/generic/protobufjson/go-server/tests/integration/main_test.go b/generic/protobufjson/go-server/tests/integration/main_test.go
index 0c776e7..44153bd 100644
--- a/generic/protobufjson/go-server/tests/integration/main_test.go
+++ b/generic/protobufjson/go-server/tests/integration/main_test.go
@@ -20,6 +20,12 @@
package integration
import (
+ "os"
+ "testing"
+ "time"
+)
+
+import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
@@ -31,12 +37,6 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
)
-import (
- "os"
- "testing"
- "time"
-)
-
var appName = "UserConsumerTest"
var referenceConfig = config.ReferenceConfig{
InterfaceName: "org.apache.dubbo.UserProvider",
diff --git a/generic/protobufjson/go-server/tests/integration/userprovider_test.go b/generic/protobufjson/go-server/tests/integration/userprovider_test.go
index 43ef763..0ad6d74 100644
--- a/generic/protobufjson/go-server/tests/integration/userprovider_test.go
+++ b/generic/protobufjson/go-server/tests/integration/userprovider_test.go
@@ -21,12 +21,15 @@ package integration
import (
"context"
- "github.com/stretchr/testify/assert"
"testing"
)
+
import (
"dubbo.apache.org/dubbo-go/v3/config"
+
hessian "github.com/apache/dubbo-go-hessian2"
+
+ "github.com/stretchr/testify/assert"
)
func TestGetUser(t *testing.T) {
diff --git a/go.mod b/go.mod
index 12ed8d4..550d8f4 100644
--- a/go.mod
+++ b/go.mod
@@ -1,28 +1,31 @@
module github.com/apache/dubbo-go-samples
require (
- dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e
+ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b
github.com/alibaba/sentinel-golang v1.0.2
- github.com/apache/dubbo-getty v1.4.3
+ github.com/apache/dubbo-getty v1.4.5
github.com/apache/dubbo-go-hessian2 v1.9.2
github.com/bwmarrin/snowflake v0.3.0
github.com/dubbogo/gost v1.11.16
github.com/dubbogo/net v0.0.3
- github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df
- github.com/emicklei/go-restful/v3 v3.4.0
+ github.com/dubbogo/triple v1.0.6-0.20210826093718-8b877016f3bf
+ github.com/emicklei/go-restful/v3 v3.5.2
+ github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/golang/protobuf v1.5.2
github.com/opentracing/opentracing-go v1.2.0
github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5
github.com/openzipkin/zipkin-go v0.2.2
github.com/pkg/errors v0.9.1
- github.com/prometheus/client_golang v1.9.0
+ github.com/prometheus/client_golang v1.11.0
+ github.com/satori/go.uuid v1.2.0 // indirect
+ github.com/stretchr/objx v0.2.0 // indirect
github.com/stretchr/testify v1.7.0
github.com/transaction-wg/seata-golang v0.2.0
github.com/uber/jaeger-client-go v2.22.1+incompatible
github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
- golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect
google.golang.org/grpc v1.38.0
google.golang.org/protobuf v1.27.1
+ k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a // indirect
)
replace github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
diff --git a/go.sum b/go.sum
index 559bd3c..a608633 100644
--- a/go.sum
+++ b/go.sum
@@ -1,3 +1,4 @@
+bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.37.4/go.mod h1:NHPJ89PdicEuT9hdPXMROBD91xc5uRDxsMtSB16k7hw=
@@ -14,6 +15,9 @@ cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiy
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e h1:TnZXDmootOlIL+DZZkS7opNDwbFG2gT+Z9YeSLwKXy0=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e/go.mod h1:quHg7AMGZichyo/h2msHsjregY4oL0lEJlljPbpwgs0=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b h1:swahNLXhkWgQtnkgafdaHPaEWcC51PvEalPY+ovZ6JQ=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b/go.mod h1:truc+fGVX3f/luIG6lAc8D49JXETiRtWDF5CVkG7ZMY=
+github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
@@ -26,6 +30,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/Julusian/godocdown v0.0.0-20170816220326-6d19f8ff2df8/go.mod h1:INZr5t32rG59/5xeltqoCJoNY7e5x/3xoY9WSWVWg74=
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
+github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
+github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
@@ -53,6 +59,8 @@ github.com/aliyun/alibaba-cloud-sdk-go v1.61.18/go.mod h1:v8ESoHo4SyHmuB4b1tJqDH
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/apache/dubbo-getty v1.4.3 h1:PCKpryDasKOxwT5MBC6MIMO+0NLOaHF6Xco9YXQw7HI=
github.com/apache/dubbo-getty v1.4.3/go.mod h1:ansXgKxxyhCOiQL29nO5ce1MDcEKmCyZuNR9oMs3hek=
+github.com/apache/dubbo-getty v1.4.5 h1:MptKbjC0n2Mo/8eFPwirSInH2BfdNG4IZch43PdNvIM=
+github.com/apache/dubbo-getty v1.4.5/go.mod h1:mcDyiu7M/TVrYDyL8TxDemQkOdvEqqHSQ4jOuYejY1w=
github.com/apache/dubbo-go-hessian2 v1.9.1/go.mod h1:xQUjE7F8PX49nm80kChFvepA/AvqAZ0oh/UaB6+6pBE=
github.com/apache/dubbo-go-hessian2 v1.9.2 h1:XuI8KvENSfKiAhiCBS4RNihmQDoPNmGWKT3gTui0p9A=
github.com/apache/dubbo-go-hessian2 v1.9.2/go.mod h1:xQUjE7F8PX49nm80kChFvepA/AvqAZ0oh/UaB6+6pBE=
@@ -62,11 +70,14 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs=
+github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
@@ -95,6 +106,16 @@ github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h
github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA=
github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI=
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
+github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko=
+github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw=
+github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
+github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
+github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
+github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo=
+github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI=
+github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
+github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
+github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -106,6 +127,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd/v22 v22.1.0 h1:kq/SbG2BCKLkDKkjQf5OWwKWUKj1lgs3lFI4PxnR5lg=
github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
+github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
+github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
@@ -129,11 +152,16 @@ github.com/denisenkom/go-mssqldb v0.0.0-20190707035753-2be1aa521ff4/go.mod h1:zA
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
+github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
+github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
github.com/dubbogo/go-zookeeper v1.0.3 h1:UkuY+rBsxdT7Bs63QAzp9z7XqQ53W1j8E5rwl83me8g=
github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
+github.com/dubbogo/gost v1.11.12/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/gost v1.11.16 h1:fvOw8aKQ0BuUYuD+MaXAYFvT7tg2l7WAS5SL5gZJpFs=
github.com/dubbogo/gost v1.11.16/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
@@ -141,6 +169,8 @@ github.com/dubbogo/net v0.0.3 h1:2k53mh+1U8h1gFjJ8ykzyP4wNdAdgjc5moD+xVHI/AE=
github.com/dubbogo/net v0.0.3/go.mod h1:B6/ka3g8VzcyrmdCH4VkHP1K0aHeI37FmclS+TCwIBU=
github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df h1:YSfvAnU0ebwLqWnD+5HTTsFhqA+aE4Si2c10zBsUW7c=
github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
+github.com/dubbogo/triple v1.0.6-0.20210826093718-8b877016f3bf h1:lj0hNwbjk7UpqyEYo6Kz4poTH4w5UfyqI4Gl6x3HEqo=
+github.com/dubbogo/triple v1.0.6-0.20210826093718-8b877016f3bf/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
@@ -154,6 +184,8 @@ github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/emicklei/go-restful/v3 v3.4.0 h1:IIDhql3oyWZj1ay2xBZGb4sTOWMad0HVW8rwhVxN/Yk=
github.com/emicklei/go-restful/v3 v3.4.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/emicklei/go-restful/v3 v3.5.2 h1:RCNMSbcGIVafG4ZfgIXIEHTaV59ZRsi41IvZ7RC9+ls=
+github.com/emicklei/go-restful/v3 v3.5.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/envoyproxy/go-control-plane v0.8.0/go.mod h1:GSSbY9P1neVhdY7G4wu+IK1rk/dqhiCC/4ExuWJZVuk=
github.com/envoyproxy/protoc-gen-validate v0.0.14/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
@@ -165,9 +197,13 @@ github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoD
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20=
github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
+github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+github.com/fsnotify/fsnotify v1.5.0/go.mod h1:BX0DCEr5pT4jm2CnQdVP1lFV521fcCNcyEeNp4DQQDk=
+github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI=
+github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
@@ -186,8 +222,10 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
+github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc=
github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8=
+github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
@@ -211,11 +249,15 @@ github.com/go-resty/resty/v2 v2.3.0 h1:JOOeAvjSlapTT92p8xiS19Zxev1neGikoHsXJeOq8
github.com/go-resty/resty/v2 v2.3.0/go.mod h1:UpN9CgLZNsv4e9XG50UU8xdI0F43UQ4HmxLBDwaroHU=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
+github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
+github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
github.com/go-xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:56xuuqnHyryaerycW3BfssRdxQstACi0Epw/yC5E2xM=
github.com/go-xorm/xorm v0.7.9/go.mod h1:XiVxrMMIhFkwSkh96BW7PACl7UhLtx2iJIHMdmjh5sQ=
+github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
@@ -265,6 +307,7 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
@@ -286,6 +329,7 @@ github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORR
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
+github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
@@ -298,6 +342,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
@@ -310,14 +355,20 @@ github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI=
github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
+github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
+github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
+github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY=
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
+github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY=
+github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
@@ -331,6 +382,7 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
@@ -338,9 +390,13 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q=
+github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE=
github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M=
+github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267 h1:e1ok06zGrWJW91rzRroyl5nRNqraaBe4d5hiKcVZuHM=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
+github.com/hashicorp/vault/sdk v0.2.1 h1:S4O6Iv/dyKlE9AUTXGa7VOvZmsCvg36toPKgV4f2P4M=
+github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U=
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
@@ -353,8 +409,12 @@ github.com/jackc/pgx v3.6.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGk
github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag=
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8 h1:mGIXW/lubQ4B+3bXTLxcTMTjUNDqoF6T/HUW9LbFx9s=
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s=
+github.com/jinzhu/copier v0.3.2 h1:QdBOCbaouLDYaIPFfi1bKv5F5tPpeTwXe4sD0jqtz5w=
+github.com/jinzhu/copier v0.3.2/go.mod h1:24xnZezI2Yqac9J61UC6/dG/k76ttpq0DdJI3QmUvro=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2yCeUc=
+github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
@@ -367,6 +427,8 @@ github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.10 h1:Kz6Cvnvv2wGdaG/V8yMvfkmNiXq9Ya2KUv4rouJJr68=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
+github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ=
+github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
@@ -408,6 +470,7 @@ github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPK
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
+github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.7 h1:bQGKb3vps/j0E9GfJQ03JyhRuxsvdAanXlT9BTw3mdw=
github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
@@ -434,6 +497,7 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
@@ -446,6 +510,8 @@ github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lN
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
+github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
@@ -454,6 +520,8 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/nacos-group/nacos-sdk-go v1.0.8 h1:8pEm05Cdav9sQgJSv5kyvlgfz0SzFUUGI3pWX6SiSnM=
github.com/nacos-group/nacos-sdk-go v1.0.8/go.mod h1:hlAPn3UdzlxIlSILAyOXKxjFSvDJ9oLzTJ9hLAK1KzA=
+github.com/natefinch/lumberjack v2.0.0+incompatible h1:4QJd3OLAMgj7ph+yZTuX13Ld4UpgHp07nNdFX7mqFfM=
+github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg=
github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU=
github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k=
@@ -476,6 +544,13 @@ github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
+github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
+github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
+github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
+github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
+github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis=
github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74=
github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
@@ -502,6 +577,8 @@ github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pierrec/lz4 v2.2.6+incompatible h1:6aCX4/YZ9v8q69hTyiR7dNLnTA3fgtKHVVW5BCd5Znw=
github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
+github.com/pierrec/lz4 v2.5.2+incompatible h1:WCjObylUIOlKy/+7Abdn34TLIkXiA4UWUMhxq9m9ZXI=
+github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pingcap/check v0.0.0-20190102082844-67f458068fc8/go.mod h1:B1+S9LNcuMyLH/4HMTViQOJevkGiik3wW2AN9zb2fNQ=
github.com/pingcap/check v0.0.0-20200212061837-5e12011dc712/go.mod h1:PYMCGwN0JHjoqGr3HrZoD+b8Tgx8bKnArhSq8YVzUMc=
github.com/pingcap/errors v0.11.0/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
@@ -512,6 +589,7 @@ github.com/pingcap/log v0.0.0-20200117041106-d28c14d3b1cd/go.mod h1:4rbK1p9ILyIf
github.com/pingcap/parser v0.0.0-20200424075042-8222d8b724a4/go.mod h1:9v0Edh8IbgjGYW2ArJr19E+bvL8zKahsFp+ixWeId+4=
github.com/pingcap/tipb v0.0.0-20190428032612-535e1abaa330/go.mod h1:RtkHW8WbcNxj8lsbzjaILci01CtYnYbIkQhjyZWrWVI=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -525,9 +603,11 @@ github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og=
+github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.9.0/go.mod h1:FqZLKOZnGdFAhOK4nqGHa7D66IdsO+O441Eve7ptJDU=
+github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
@@ -542,6 +622,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2
github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
+github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
+github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -550,6 +632,7 @@ github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsT
github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
+github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
@@ -563,6 +646,8 @@ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb
github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
+github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
+github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b h1:gQZ0qzfKHQIybLANtM3mBXNUtOfsCFXeTsnBqCsx1KM=
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
@@ -572,7 +657,9 @@ github.com/shirou/gopsutil v3.20.11+incompatible h1:LJr4ZQK4mPpIV5gOa4jCOKOGb4ty
github.com/shirou/gopsutil v3.20.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
+github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
@@ -588,11 +675,13 @@ github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
+github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
+github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
@@ -636,6 +725,7 @@ github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ=
github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
+github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
@@ -644,6 +734,7 @@ github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
github.com/zouyx/agollo/v3 v3.4.5 h1:7YCxzY9ZYaH9TuVUBvmI6Tk0mwMggikah+cfbYogcHQ=
github.com/zouyx/agollo/v3 v3.4.5/go.mod h1:LJr3kDmm23QSW+F1Ol4TMHDa7HvJvscMdVxJ2IpUTVc=
@@ -654,9 +745,15 @@ go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738 h1:VcrIfasaLFkyjk6KNlXQSzO+B0
go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg=
go.etcd.io/etcd/api/v3 v3.5.0-alpha.0 h1:+e5nrluATIy3GP53znpkHMFzPTHGYyzvJGFCbuI6ZLc=
go.etcd.io/etcd/api/v3 v3.5.0-alpha.0/go.mod h1:mPcW6aZJukV6Aa81LSKpBjQXTWlXB5r74ymPoSWa3Sw=
+go.etcd.io/etcd/api/v3 v3.5.0 h1:GsV3S+OfZEOCNXdtNkBSR7kgLobAa/SO6tCxRa0GAYw=
+go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
+go.etcd.io/etcd/client/pkg/v3 v3.5.0 h1:2aQv6F436YnN7I4VbI8PPYrBhu+SmrTaADcf8Mi/6PU=
+go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g=
go.etcd.io/etcd/client/v2 v2.305.0-alpha.0/go.mod h1:kdV+xzCJ3luEBSIeQyB/OEKkWKd8Zkux4sbDeANrosU=
go.etcd.io/etcd/client/v3 v3.5.0-alpha.0 h1:dr1EOILak2pu4Nf5XbRIOCNIBjcz6UmkQd7hHRXwxaM=
go.etcd.io/etcd/client/v3 v3.5.0-alpha.0/go.mod h1:wKt7jgDgf/OfKiYmCq5WFGxOFAkVMLxiiXgLDFhECr8=
+go.etcd.io/etcd/client/v3 v3.5.0 h1:62Eh0XOro+rDwkrypAGDfgmNh5Joq+z+W9HZdlXMzek=
+go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0=
go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0 h1:3yLUEC0nFCxw/RArImOyRUI4OAFbg4PFpBbAhSNzKNY=
go.etcd.io/etcd/pkg/v3 v3.5.0-alpha.0/go.mod h1:tV31atvwzcybuqejDoY3oaNRTtlD2l/Ot78Pc9w7DMY=
go.etcd.io/etcd/raft/v3 v3.5.0-alpha.0/go.mod h1:FAwse6Zlm5v4tEWZaTjmNhe17Int4Oxbu7+2r0DiD3w=
@@ -677,6 +774,8 @@ go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+
go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0 h1:KCa4XfM8CWFCpxXRGok+Q0SS/0XBhMDbHHGABQLvD2A=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
+go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
+go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
@@ -685,6 +784,9 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc=
go.uber.org/zap v1.16.0 h1:uFRZXykJGK9lLY4HtgSw44DnIcAM+kRBP7x5m+NpAOM=
go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
+go.uber.org/zap v1.17.0 h1:MTjgFu6ZLKvY6Pvaqk97GlxNBuMpV4Hy/3P6tRGlI2U=
+go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
+golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -697,6 +799,7 @@ golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0 h1:hb9wdF1z5waM+dSIICn1l0DkLVDT3hqhhQsDNUmHPRE=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -716,6 +819,7 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHl
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
@@ -724,6 +828,7 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -746,15 +851,19 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4 h1:4nGaVu0QrbjT/AK2PRLuQfQuh6DJve+pELhqTdAj3x0=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -767,6 +876,8 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -787,11 +898,13 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190508220229-2d0786266e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -805,6 +918,7 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -813,6 +927,13 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20201214210602-f9fddec55a1e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201223074533-0d417f636930 h1:vRgIt+nup/B/BwIS0g2oC0haq0iqbV3ZA+u6+0TlNCo=
golang.org/x/sys v0.0.0-20201223074533-0d417f636930/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -821,10 +942,13 @@ golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5f
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -843,6 +967,7 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -861,6 +986,7 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
golang.org/x/tools v0.0.0-20200928182047-19e03678916f/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
golang.org/x/tools v0.0.0-20201014170642-d1624618ad65/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -894,6 +1020,8 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY
google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210106152847-07624b53cd92 h1:jOTk2Z6KYaWoptUFqZ167cS8peoUPjFEXrsqfVkkCGc=
google.golang.org/genproto v0.0.0-20210106152847-07624b53cd92/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c h1:wtujag7C+4D6KMoulW9YauvK2lgdvCMS260jsqqBXr0=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -910,6 +1038,7 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
@@ -927,6 +1056,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -937,6 +1067,7 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
+gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
@@ -946,6 +1077,7 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
@@ -959,7 +1091,9 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
+gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
diff --git a/helloworld/go-client/cmd/client.go b/helloworld/go-client/cmd/client.go
index 68fe2c0..2c0c7ad 100644
--- a/helloworld/go-client/cmd/client.go
+++ b/helloworld/go-client/cmd/client.go
@@ -47,8 +47,8 @@ func main() {
req := &api.HelloRequest{
Name: "laurence",
}
- reply := &api.User{}
- if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
+ if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
diff --git a/helloworld/go-server/cmd/server.go b/helloworld/go-server/cmd/server.go
index 4f23c26..ef49a5a 100644
--- a/helloworld/go-server/cmd/server.go
+++ b/helloworld/go-server/cmd/server.go
@@ -40,6 +40,7 @@ func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*
return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
}
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-server/conf/dubbogo.yml
func main() {
config.SetProviderService(&GreeterProvider{})
config.Load()
diff --git a/rpc/dubbo3/hessian2/go-server/conf/client.yml b/integrate_test/rpc/hessian2/conf/client.yml
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/conf/client.yml
rename to integrate_test/rpc/hessian2/conf/client.yml
diff --git a/rpc/dubbo3/hessian2/go-server/conf/log.yml b/integrate_test/rpc/hessian2/conf/log.yml
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/conf/log.yml
rename to integrate_test/rpc/hessian2/conf/log.yml
diff --git a/rpc/dubbo3/hessian2/go-server/conf/server.yml b/integrate_test/rpc/hessian2/conf/server.yml
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/conf/server.yml
rename to integrate_test/rpc/hessian2/conf/server.yml
diff --git a/rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml b/integrate_test/rpc/hessian2/docker/docker-compose.yml
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml
rename to integrate_test/rpc/hessian2/docker/docker-compose.yml
diff --git a/rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml~merged b/integrate_test/rpc/hessian2/docker/docker-compose.yml~merged
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml~merged
rename to integrate_test/rpc/hessian2/docker/docker-compose.yml~merged
diff --git a/rpc/dubbo3/hessian2/go-server/docker/docker-health-check.sh b/integrate_test/rpc/hessian2/docker/docker-health-check.sh
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/docker/docker-health-check.sh
rename to integrate_test/rpc/hessian2/docker/docker-health-check.sh
diff --git a/rpc/dubbo3/hessian2/go-server/tests/integration/main_test.go b/integrate_test/rpc/hessian2/tests/integration/main_test.go
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/tests/integration/main_test.go
rename to integrate_test/rpc/hessian2/tests/integration/main_test.go
diff --git a/rpc/dubbo3/hessian2/go-server/tests/integration/userprovider_test.go b/integrate_test/rpc/hessian2/tests/integration/userprovider_test.go
similarity index 100%
rename from rpc/dubbo3/hessian2/go-server/tests/integration/userprovider_test.go
rename to integrate_test/rpc/hessian2/tests/integration/userprovider_test.go
diff --git a/multi-zone/go-server-hz/tests/integration/main_test.go b/multi-zone/go-server-hz/tests/integration/main_test.go
index 9a3edab..d028c55 100644
--- a/multi-zone/go-server-hz/tests/integration/main_test.go
+++ b/multi-zone/go-server-hz/tests/integration/main_test.go
@@ -36,6 +36,7 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
hessian "github.com/apache/dubbo-go-hessian2"
)
diff --git a/multi-zone/go-server-hz/tests/integration/userprovider_test.go b/multi-zone/go-server-hz/tests/integration/userprovider_test.go
index 89988b7..a506b8d 100644
--- a/multi-zone/go-server-hz/tests/integration/userprovider_test.go
+++ b/multi-zone/go-server-hz/tests/integration/userprovider_test.go
@@ -23,6 +23,7 @@ import (
"context"
"testing"
)
+
import (
"github.com/stretchr/testify/assert"
)
diff --git a/multi-zone/go-server-sh/tests/integration/main_test.go b/multi-zone/go-server-sh/tests/integration/main_test.go
index 9a3edab..d028c55 100644
--- a/multi-zone/go-server-sh/tests/integration/main_test.go
+++ b/multi-zone/go-server-sh/tests/integration/main_test.go
@@ -36,6 +36,7 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
hessian "github.com/apache/dubbo-go-hessian2"
)
diff --git a/multi-zone/go-server-sh/tests/integration/userprovider_test.go b/multi-zone/go-server-sh/tests/integration/userprovider_test.go
index c8d3dd8..04ab061 100644
--- a/multi-zone/go-server-sh/tests/integration/userprovider_test.go
+++ b/multi-zone/go-server-sh/tests/integration/userprovider_test.go
@@ -23,6 +23,7 @@ import (
"context"
"testing"
)
+
import (
"github.com/stretchr/testify/assert"
)
diff --git a/registry/servicediscovery/etcd/go-client/cmd/client.go b/registry/servicediscovery/etcd/go-client/cmd/client.go
index 41a0038..866126c 100644
--- a/registry/servicediscovery/etcd/go-client/cmd/client.go
+++ b/registry/servicediscovery/etcd/go-client/cmd/client.go
@@ -37,7 +37,9 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
+
hessian "github.com/apache/dubbo-go-hessian2"
+
"github.com/dubbogo/gost/log"
)
diff --git a/registry/servicediscovery/etcd/go-server/cmd/server.go b/registry/servicediscovery/etcd/go-server/cmd/server.go
index 1f3c38e..b32906c 100644
--- a/registry/servicediscovery/etcd/go-server/cmd/server.go
+++ b/registry/servicediscovery/etcd/go-server/cmd/server.go
@@ -26,8 +26,6 @@ import (
)
import (
- hessian "github.com/apache/dubbo-go-hessian2"
-
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
@@ -42,6 +40,8 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
+
+ hessian "github.com/apache/dubbo-go-hessian2"
)
import (
diff --git a/registry/servicediscovery/etcd/go-server/pkg/user.go b/registry/servicediscovery/etcd/go-server/pkg/user.go
index bda7344..75d0916 100644
--- a/registry/servicediscovery/etcd/go-server/pkg/user.go
+++ b/registry/servicediscovery/etcd/go-server/pkg/user.go
@@ -23,12 +23,11 @@ import (
)
import (
- "github.com/dubbogo/gost/log"
-)
-
-import (
"dubbo.apache.org/dubbo-go/v3/config"
+
hessian "github.com/apache/dubbo-go-hessian2"
+
+ "github.com/dubbogo/gost/log"
)
func init() {
diff --git a/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go b/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go
index ff9821e..b34dd03 100644
--- a/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go
+++ b/registry/servicediscovery/etcd/go-server/tests/integration/main_test.go
@@ -20,6 +20,13 @@
package integration
import (
+ "context"
+ "os"
+ "testing"
+ "time"
+)
+
+import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
@@ -33,14 +40,8 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/etcdv3"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-import (
- "context"
- "os"
- "testing"
- "time"
+ hessian "github.com/apache/dubbo-go-hessian2"
)
var userProvider = new(UserProvider)
diff --git a/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go b/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go
index dc29d9a..7183e64 100644
--- a/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go
+++ b/registry/servicediscovery/etcd/go-server/tests/integration/userprovider_test.go
@@ -23,6 +23,7 @@ import (
"context"
"testing"
)
+
import (
"github.com/stretchr/testify/assert"
)
diff --git a/registry/zookeeper/go-client/cmd/client.go b/registry/zookeeper/go-client/cmd/client.go
index a7cb8cd..88b7c39 100644
--- a/registry/zookeeper/go-client/cmd/client.go
+++ b/registry/zookeeper/go-client/cmd/client.go
@@ -50,8 +50,8 @@ func main() {
req := &api.HelloRequest{
Name: "laurence",
}
- reply := &api.User{}
- if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
+ if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
diff --git a/rpc/dubbo/go-client/pkg/user.go b/rpc/dubbo/go-client/pkg/user.go
index 59998af..14ef525 100644
--- a/rpc/dubbo/go-client/pkg/user.go
+++ b/rpc/dubbo/go-client/pkg/user.go
@@ -88,9 +88,13 @@ func (User) JavaClassName() string {
}
type UserProvider struct {
- GetUsers func(req []interface{}) ([]interface{}, error)
- GetErr func(ctx context.Context, req []interface{}, rsp *User) error
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetUsers func(req []interface{}) ([]interface{}, error)
+ GetErr func(ctx context.Context, req []interface{}, rsp *User) error
+
+ GetUserOld func(ctx context.Context, req []interface{}, rsp *User) error
+
+ GetUserNew func(ctx context.Context, req1, req2 *User) (*User, error)
+
GetUser0 func(id string, name string) (User, error)
GetUser1 func(ctx context.Context, req []interface{}, rsp *User) error
GetUser2 func(ctx context.Context, req []interface{}, rsp *User) error `dubbo:"getUser"`
diff --git a/rpc/dubbo3/hessian2/go-client/cmd/client.go b/rpc/dubbo3/hessian2/go-client/cmd/client.go
index 8e664c3..5516d1b 100644
--- a/rpc/dubbo3/hessian2/go-client/cmd/client.go
+++ b/rpc/dubbo3/hessian2/go-client/cmd/client.go
@@ -19,46 +19,43 @@ package main
import (
"context"
+ "encoding/json"
"os"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/grpc"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
"github.com/dubbogo/gost/log"
)
-import (
- "github.com/apache/dubbo-go-samples/general/dubbo3/hessian2/go-client/pkg"
-)
-
-var userProvider = new(pkg.UserProvider)
+var userProvider = new(UserProvider)
+var complexProvider = new(ComplexProvider)
func init() {
config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
+ config.SetConsumerService(complexProvider)
+ hessian.RegisterPOJO(&User{})
+ hessian.RegisterPOJO(&ComplexData{})
}
// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
func main() {
- hessian.RegisterPOJO(&pkg.User{})
config.Load()
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), &pkg.User{Name: "laurence"}, user)
+ testNormalService()
+
+ testComplexService()
+}
+
+func testNormalService() {
+ user, err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"})
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
@@ -66,3 +63,114 @@ func main() {
}
gxlog.CInfo("response result: %v\n", user)
}
+
+func testComplexService() {
+ // test with normal data
+
+ //test without rsp and request
+ err := complexProvider.InvokeWithEmptyReq(context.TODO())
+ if err != nil {
+ gxlog.CError("error: %v\n", err)
+ os.Exit(1)
+ return
+ }
+
+ // test without response
+ err = complexProvider.InvokeWithSingleString(context.TODO(), "request string")
+ if err != nil {
+ gxlog.CError("error: %v\n", err)
+ os.Exit(1)
+ return
+ }
+
+ err = complexProvider.InvokeWithStringList(context.TODO(), []string{"myfirststring", "mysecondstring"})
+ if err != nil {
+ gxlog.CError("error: %v\n", err)
+ os.Exit(1)
+ return
+ }
+
+ err = complexProvider.InvokeWithMultiString(context.TODO(), "first string", "secondString", "third str")
+ if err != nil {
+ gxlog.CError("error: %v\n", err)
+ os.Exit(1)
+ return
+ }
+
+ // test without request
+ rsp, err := complexProvider.InvokeWithEmptyReqStringRsp(context.TODO())
+ if err != nil {
+ gxlog.CError("error: %v\n", err)
+ os.Exit(1)
+ return
+ }
+ gxlog.CInfo("get InvokeWithEmptyReqStringRsp rsp = %+v", rsp)
+
+ // complex data
+ stringIntMapData := make(map[string]int)
+ stringIntMapData["test1"] = 1
+ stringIntMapData["test2"] = 2
+
+ stringStringMapData := make(map[string]string)
+ stringStringMapData["test1"] = "1"
+ stringStringMapData["test2"] = "2"
+
+ stringUserMapData := make(map[string]User)
+ stringUserMapData["test1"] = User{Name: "1"}
+ stringUserMapData["test2"] = User{Name: "2"}
+
+ stringUintMapData := make(map[string]uint32)
+ stringUintMapData["test1"] = 1
+ stringUintMapData["test2"] = 2
+
+ stringUserPtrMapData := make(map[string]*User)
+ stringUserPtrMapData["test1"] = &User{Name: "1"}
+ stringUserPtrMapData["test2"] = &User{Name: "2"}
+
+ intStringMapData := make(map[int]string)
+ intStringMapData[1] = "1"
+ intStringMapData[2] = "2"
+
+ data, _ := json.Marshal(User{Name: "myJson", Age: 19, Id: "jsonID"})
+
+ cplexData := &ComplexData{
+ BooleanData: true,
+ StringData: "testString",
+ //UIntData: 8,
+ UInt8Data: 8,
+ UInt16Data: 16,
+ UInt32Data: 32,
+ UInt64Data: 64,
+ Int8Data: 8,
+ Int16Data: 16,
+ Int32Data: 32,
+ Int64Data: 64,
+ IntData: 8,
+ //StringIntMapData: stringIntMapData,
+ StringStringMapData: stringStringMapData,
+ //StringUserDefinedMapData:stringUserMapData,
+ //StringUIntMapData: stringUintMapData,
+ StringUserDefinedPtrMapData: stringUserPtrMapData,
+ //IntStringMapData: intStringMapData,
+ UserDefinedData: User{Name: "myuser", Age: 18, Id: "testid"},
+ UserDefinedDataPtr: &User{Name: "myuserPtr", Age: 18, Id: "testid"},
+ ByteData: data,
+ ArrayListData: []string{"string1", "string2", "string3"},
+ ArrayUserDefinedData: []User{{Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}},
+ ArrayUserDefinedPtrData: []*User{{Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}, {Name: "name1", Id: "id1", Age: 19}},
+ }
+
+ cplxRsp, err := complexProvider.InvokeWithComplexReqComplexRspPtr(context.TODO(), cplexData)
+ if err != nil {
+ gxlog.CError("error: %v\n", err)
+ os.Exit(1)
+ return
+ }
+ gxlog.CInfo("get InvokeWithComplexReqComplexRspPtr rsp = %+v", cplxRsp)
+
+ intRsp, err := complexProvider.InvokeWithMultiBasicData(context.TODO(), "reqstr", []byte{1, 2, 4}, 32, true)
+ if err != nil {
+ panic(err)
+ }
+ gxlog.CInfo("get InvokeWithMultiBasicData rsp = %d", intRsp)
+}
diff --git a/rpc/dubbo3/hessian2/go-client/cmd/complex_service.go b/rpc/dubbo3/hessian2/go-client/cmd/complex_service.go
new file mode 100644
index 0000000..e5b6239
--- /dev/null
+++ b/rpc/dubbo3/hessian2/go-client/cmd/complex_service.go
@@ -0,0 +1,66 @@
+package main
+
+import (
+ "context"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/config"
+
+ hessian "github.com/apache/dubbo-go-hessian2"
+)
+
+func init() {
+ // ------for hessian2------
+ hessian.RegisterPOJO(&User{})
+ config.SetProviderService(new(UserProvider))
+}
+
+type ComplexData struct {
+ BooleanData bool
+
+ StringData string
+
+ //UIntData uint
+ UInt8Data uint8
+ UInt16Data uint16
+ UInt32Data uint32
+ UInt64Data uint64
+
+ IntData int
+ Int8Data int8
+ Int16Data int16
+ Int32Data int32
+ Int64Data int64
+
+ StringStringMapData map[string]string
+ //StringIntMapData map[string]int
+ //StringUIntMapData map[string]uint32
+ //IntStringMapData map[int]string
+ //StringUserDefinedMapData map[string]User
+ StringUserDefinedPtrMapData map[string]*User
+
+ UserDefinedData User
+ UserDefinedDataPtr *User
+
+ ByteData []byte
+
+ ArrayListData []string
+ ArrayUserDefinedData []User
+ ArrayUserDefinedPtrData []*User
+}
+
+type ComplexProvider struct {
+ InvokeWithEmptyReq func(ctx context.Context) error
+ InvokeWithSingleString func(ctx context.Context, req string) error
+ InvokeWithMultiString func(ctx context.Context, req, req2, req3 string) error
+ InvokeWithStringList func(ctx context.Context, req []string) error
+ InvokeWithEmptyReqStringRsp func(ctx context.Context) (string, error)
+ InvokeWithComplexReqComplexRspPtr func(ctx context.Context, req *ComplexData) (*ComplexData, error)
+ InvokeWithMultiBasicData func(ctx context.Context, str string, data []byte, num int, boolValue bool) (int, error)
+ //InvokeWithStringMap func(ctx context.Context, req map[string]string) (map[string]string,error)
+}
+
+func (u ComplexData) JavaClassName() string {
+ return "com.apache.dubbo.sample.basic.ComplexData"
+}
diff --git a/rpc/dubbo3/hessian2/go-client/cmd/simple_service.go b/rpc/dubbo3/hessian2/go-client/cmd/simple_service.go
new file mode 100644
index 0000000..3a1c829
--- /dev/null
+++ b/rpc/dubbo3/hessian2/go-client/cmd/simple_service.go
@@ -0,0 +1,19 @@
+package main
+
+import (
+ "context"
+)
+
+type User struct {
+ Id string
+ Name string
+ Age int32
+}
+
+type UserProvider struct {
+ GetUser func(ctx context.Context, req *User) (*User, error)
+}
+
+func (u *User) JavaClassName() string {
+ return "com.apache.dubbo.sample.basic.User"
+}
diff --git a/rpc/dubbo3/hessian2/go-client/conf/client.yml b/rpc/dubbo3/hessian2/go-client/conf/client.yml
deleted file mode 100644
index c9761ef..0000000
--- a/rpc/dubbo3/hessian2/go-client/conf/client.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "tri"
- serialization: "hessian2"
- interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
diff --git a/rpc/dubbo3/hessian2/go-client/conf/dubbogo.yml b/rpc/dubbo3/hessian2/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..c1cfa67
--- /dev/null
+++ b/rpc/dubbo3/hessian2/go-client/conf/dubbogo.yml
@@ -0,0 +1,18 @@
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "ComplexProvider":
+ protocol: "tri"
+ serialization: "hessian2"
+ interface: "com.apache.dubbo.sample.basic.ComplexProvider" # must be compatible with grpc or dubbo-java
+ "UserProvider":
+ protocol: "tri"
+ serialization: "hessian2"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/rpc/dubbo3/hessian2/go-client/conf/log.yml b/rpc/dubbo3/hessian2/go-client/conf/log.yml
deleted file mode 100644
index 8c3f700..0000000
--- a/rpc/dubbo3/hessian2/go-client/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "info"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/rpc/dubbo3/hessian2/go-client/pkg/hello.go b/rpc/dubbo3/hessian2/go-client/pkg/hello.go
deleted file mode 100644
index 092fe0e..0000000
--- a/rpc/dubbo3/hessian2/go-client/pkg/hello.go
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
-)
-
-type User struct {
- Id string
- Name string
- Age int32
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req *User, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/rpc/dubbo3/hessian2/go-server/cmd/complex_service.go b/rpc/dubbo3/hessian2/go-server/cmd/complex_service.go
new file mode 100644
index 0000000..56c503d
--- /dev/null
+++ b/rpc/dubbo3/hessian2/go-server/cmd/complex_service.go
@@ -0,0 +1,104 @@
+package main
+
+import (
+ "context"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+ "dubbo.apache.org/dubbo-go/v3/config"
+
+ hessian "github.com/apache/dubbo-go-hessian2"
+)
+
+func init() {
+ // ------for hessian2------
+ hessian.RegisterPOJO(&User{})
+ config.SetProviderService(new(UserProvider))
+}
+
+type ComplexData struct {
+ BooleanData bool
+
+ StringData string
+
+ //UIntData uint
+ UInt8Data uint8
+ UInt16Data uint16
+ UInt32Data uint32
+ UInt64Data uint64
+
+ IntData int
+ Int8Data int8
+ Int16Data int16
+ Int32Data int32
+ Int64Data int64
+
+ StringStringMapData map[string]string
+ //StringIntMapData map[string]int
+ //StringUIntMapData map[string]uint32
+ //IntStringMapData map[int]string
+ //StringUserDefinedMapData map[string]User
+ StringUserDefinedPtrMapData map[string]*User
+
+ UserDefinedData User
+ UserDefinedDataPtr *User
+
+ ByteData []byte
+
+ ArrayListData []string
+ ArrayUserDefinedData []User
+ ArrayUserDefinedPtrData []*User
+}
+
+func (u *ComplexData) JavaClassName() string {
+ return "com.apache.dubbo.sample.basic.ComplexData"
+}
+
+type ComplexProvider struct {
+}
+
+func (u *ComplexProvider) InvokeWithMultiBasicData(ctx context.Context, str string, data []byte, num int, boolValue bool) (int, error) {
+ logger.Info("InvokeWithMultiBasicData", str, " ", data, " ", num, " ", boolValue)
+ return num, nil
+}
+
+func (u *ComplexProvider) InvokeWithEmptyReq(ctx context.Context) error {
+ logger.Info("InvokeWithEmptyReq")
+ return nil
+}
+
+func (u *ComplexProvider) InvokeWithSingleString(ctx context.Context, req string) error {
+ logger.Infof("InvokeWithSingleString, req = %s", req)
+ return nil
+}
+
+func (u *ComplexProvider) InvokeWithMultiString(ctx context.Context, req, req2, req3 string) error {
+ logger.Info("InvokeWithMultiString, req = ", req, req2, req3)
+ return nil
+}
+
+func (u *ComplexProvider) InvokeWithStringList(ctx context.Context, req []string) error {
+ logger.Infof("InvokeWithStringList, req = %s", req)
+ return nil
+}
+
+//func (u *ComplexProvider) InvokeWithStringMap(ctx context.Context, req map[string]string) (map[string]string,error) {
+// logger.Infof("InvokeWithStringList, req = %s", req)
+// return req, nil
+//}
+
+func (u *ComplexProvider) InvokeWithEmptyReqStringRsp(ctx context.Context) (string, error) {
+ logger.Infof("InvokeWithEmptyReqStringRsp")
+ return "success rsp", nil
+}
+
+func (u *ComplexProvider) InvokeWithEmptyReqMultiStringRsp(ctx context.Context) (string, string, string, error) {
+ logger.Infof("InvokeWithEmptyReqMultiStringRsp")
+ return "success rsp1", "success rsp2", "success rsp3", nil
+}
+
+func (u *ComplexProvider) InvokeWithComplexReqComplexRspPtr(ctx context.Context, req *ComplexData) (*ComplexData, error) {
+ logger.Infof("InvokeWithComplexReqComplexRsp req = %+v", req)
+ return req, nil
+}
diff --git a/rpc/dubbo3/hessian2/go-server/cmd/server.go b/rpc/dubbo3/hessian2/go-server/cmd/server.go
index 311bb76..299d554 100644
--- a/rpc/dubbo3/hessian2/go-server/cmd/server.go
+++ b/rpc/dubbo3/hessian2/go-server/cmd/server.go
@@ -26,22 +26,11 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
- _ "github.com/dubbogo/triple/pkg/triple"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/general/dubbo3/hessian2/go-server/pkg"
+ hessian "github.com/apache/dubbo-go-hessian2"
)
var (
@@ -49,12 +38,18 @@ var (
)
func init() {
- config.SetProviderService(new(pkg.UserProvider))
+ // ------for hessian2------
+ hessian.RegisterPOJO(&User{})
+ hessian.RegisterPOJO(&ComplexData{})
+ config.SetProviderService(new(UserProvider))
+ config.SetProviderService(new(ComplexProvider))
}
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/rpc/dubbo3/hessian2/go-server/conf/dubbogo.yml
func main() {
- config.Load()
+ if err := config.Load(); err != nil {
+ panic(err)
+ }
initSignal()
}
diff --git a/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go b/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go
new file mode 100644
index 0000000..93dc772
--- /dev/null
+++ b/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go
@@ -0,0 +1,29 @@
+package main
+
+import (
+ "context"
+)
+
+import (
+ gxlog "github.com/dubbogo/gost/log"
+)
+
+type User struct {
+ Id string
+ Name string
+ Age int32
+}
+
+func (u *User) JavaClassName() string {
+ return "com.apache.dubbo.sample.basic.User"
+}
+
+type UserProvider struct {
+}
+
+func (u *UserProvider) GetUser(ctx context.Context, usr *User) (*User, error) {
+ gxlog.CInfo("req:%#v", usr)
+ rsp := User{"12345", "" + usr.Name, 18}
+ gxlog.CInfo("rsp:%#v", rsp)
+ return &rsp, nil
+}
diff --git a/rpc/dubbo3/hessian2/go-server/conf/dubbogo.yml b/rpc/dubbo3/hessian2/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..b7c6359
--- /dev/null
+++ b/rpc/dubbo3/hessian2/go-server/conf/dubbogo.yml
@@ -0,0 +1,22 @@
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "triple":
+ name: "tri"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "UserProvider":
+ protocol: "triple"
+ serialization: "hessian2"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
+ "ComplexProvider":
+ protocol: "triple"
+ serialization: "hessian2"
+ interface: "com.apache.dubbo.sample.basic.ComplexProvider" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/rpc/dubbo3/hessian2/go-server/pkg/greeter.go b/rpc/dubbo3/hessian2/go-server/pkg/greeter.go
deleted file mode 100644
index d890a95..0000000
--- a/rpc/dubbo3/hessian2/go-server/pkg/greeter.go
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
-)
-
-import (
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- Id string
- Name string
- Age int32
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, usr *User) (*User, error) {
- gxlog.CInfo("req:%#v", usr)
- rsp := User{"12345", "" + usr.Name, 18}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/rpc/dubbo3/hessian2/java-client/pom.xml b/rpc/dubbo3/hessian2/java-client/pom.xml
index 9812b42..aff1e73 100644
--- a/rpc/dubbo3/hessian2/java-client/pom.xml
+++ b/rpc/dubbo3/hessian2/java-client/pom.xml
@@ -27,7 +27,7 @@
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <dubbo.version>3.0.0-SNAPSHOT</dubbo.version>
+ <dubbo.version>3.0.2</dubbo.version>
<junit.version>4.12</junit.version>
<spring-test.version>4.3.16.RELEASE</spring-test.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
diff --git a/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
index d80df27..2dc8cad 100644
--- a/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
+++ b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
@@ -24,36 +24,56 @@ import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.sample.hello.Helloworld;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
import java.util.concurrent.TimeUnit;
public class ApiConsumer {
public static void main(String[] args) throws InterruptedException, IOException {
- ReferenceConfig<IGreeter> ref = new ReferenceConfig<>();
- ref.setInterface(IGreeter.class);
- ref.setCheck(false);
- ref.setInterface(IGreeter.class);
+ ReferenceConfig<ComplexProvider> ref = new ReferenceConfig<>();
+ ref.setInterface(ComplexProvider.class);
ref.setCheck(false);
ref.setProtocol(CommonConstants.TRIPLE);
ref.setLazy(true);
ref.setTimeout(100000);
ref.setApplication(new ApplicationConfig("demo-consumer"));
+
ref.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
- final IGreeter iGreeter = ref.get();
+ final ComplexProvider complexProvider = ref.get();
+
+// complexProvider.invokeWithEmptyReq();
+// complexProvider.invokeWithSingleString("single string");
+// complexProvider.invokeWithMultiString("string1", "string2", "string3");
+// String [] strList = new String []{"first string"," second string"};
+// complexProvider.invokeWithStringList(strList );
+// String rsp = complexProvider.invokeWithEmptyReqStringRsp();
+// System.out.println("get rsp = "+ rsp);
- System.out.println("dubbo ref started");
- int i = 0;
- for( i = 0; i < 10; i++){
- try {
- final User reply = iGreeter.getUser("laurence");
- TimeUnit.SECONDS.sleep(1);
- System.out.println("Reply:" + reply.name + reply.age + reply.id);
+ ComplexData cpxData = new ComplexData();
+ cpxData.booleanData = true;
+ cpxData.stringData = "test string";
+ cpxData.byteData = new byte[] {1, 12, 4, 3, 3,3};
+ cpxData.int16Data =16;
+ cpxData.intData = 32;
+ cpxData.int64Data = 64;
+ cpxData.arrayListData = new String[]{"array1", "array2"};
+// cpxData.arrayUserData = new User[]{new User(), new User(), new User()};
+ cpxData.userDefinedData = new User();
+ cpxData.userDefinedData.age = 18;
+ cpxData.userDefinedData.id = "iojfioj";
+ cpxData.stringStringHashMap = new HashMap<>();
+// cpxData.stringStringHashMap.put("key1", "value");
+// cpxData.stringStringHashMap.put("key2", "value");
+// cpxData.stringUserDefinedPtrMapData = new HashMap<>();
+// cpxData.stringUserDefinedPtrMapData.put("key1", new User());
+// cpxData.stringUserDefinedPtrMapData.put("key2", new User());
- } catch (Throwable t) {
- t.printStackTrace();
- }
+// ComplexData response = complexProvider.invokeWithComplexReqComplexRspPtr(cpxData);
+// System.out.println("get complex = "+ response);
- }
- System.in.read();
+ int rsp = complexProvider.invokeWithMultiBasicData("str",new byte[]{1, 3, 4,6,7}, 32, true);
+ System.out.println("get multi basic rsp = "+ rsp);
}
}
diff --git a/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
new file mode 100644
index 0000000..c3b51d1
--- /dev/null
+++ b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
@@ -0,0 +1,21 @@
+package com.apache.dubbo.sample.basic;
+
+import java.io.Serializable;
+import java.util.HashMap;
+
+public class ComplexData implements Serializable {
+ boolean booleanData;
+ String stringData;
+
+ short int16Data;
+ int intData;
+ long int64Data;
+
+ User userDefinedData;
+ byte [] byteData;
+ HashMap<String, String> stringStringHashMap;
+// HashMap<String, User> stringUserDefinedPtrMapData;
+ String[] arrayListData;
+// User[] arrayUserData;
+
+}
diff --git a/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
new file mode 100644
index 0000000..c486e89
--- /dev/null
+++ b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
@@ -0,0 +1,11 @@
+package com.apache.dubbo.sample.basic;
+
+public interface ComplexProvider {
+ void invokeWithEmptyReq();
+ void invokeWithSingleString(String req);
+ void invokeWithStringList(String[] req);
+ void invokeWithMultiString(String str1, String str2, String str3);
+ String invokeWithEmptyReqStringRsp ();
+ ComplexData invokeWithComplexReqComplexRspPtr(ComplexData complexData);
+ int invokeWithMultiBasicData (String str, byte[]data, int num, boolean boolValue);
+}
diff --git a/rpc/dubbo3/hessian2/java-server/pom.xml b/rpc/dubbo3/hessian2/java-server/pom.xml
index a6c41b5..82f616d 100644
--- a/rpc/dubbo3/hessian2/java-server/pom.xml
+++ b/rpc/dubbo3/hessian2/java-server/pom.xml
@@ -29,7 +29,7 @@
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <dubbo.version>3.0.0-SNAPSHOT</dubbo.version>
+ <dubbo.version>3.0.0-ding-SNAPSHOT</dubbo.version>
<junit.version>4.12</junit.version>
<spring-test.version>4.3.16.RELEASE</spring-test.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
diff --git a/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
index 8a6f7f2..fcd180c 100644
--- a/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
+++ b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
@@ -26,9 +26,9 @@ import java.util.concurrent.CountDownLatch;
public class ApiProvider {
public static void main(String[] args) throws InterruptedException {
- ServiceConfig<IGreeter> service = new ServiceConfig<>();
- service.setInterface(IGreeter.class);
- service.setRef(new IGreeter1Impl());
+ ServiceConfig<ComplexProvider> service = new ServiceConfig<>();
+ service.setInterface(ComplexProvider.class);
+ service.setRef(new ComplexProviderImpl());
service.setProtocol(new ProtocolConfig(CommonConstants.TRIPLE, 50053));
service.setApplication(new ApplicationConfig("demo-provider"));
service.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
diff --git a/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
new file mode 100644
index 0000000..52bf428
--- /dev/null
+++ b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
@@ -0,0 +1,37 @@
+package com.apache.dubbo.sample.basic;
+
+import java.io.Serializable;
+import java.util.HashMap;
+
+public class ComplexData implements Serializable {
+ boolean booleanData;
+ String stringData;
+
+ short int16Data;
+ int intData;
+ long int64Data;
+
+ User userDefinedData;
+ byte [] byteData;
+ HashMap<String, String> stringStringHashMap;
+ HashMap<String, User> stringUserDefinedPtrMapData;
+ String[] arrayListData;
+ User[] arrayUserData;
+
+ public String GetString(){
+ String result = "";
+ result += booleanData;
+ result += stringData;
+ result += int16Data;
+ result += intData;
+ result += int64Data;
+ result += userDefinedData;
+ result += byteData;
+ result += stringStringHashMap;
+ result += stringUserDefinedPtrMapData;
+ result += arrayUserData;
+ result += arrayListData;
+ return result;
+ }
+
+}
diff --git a/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
new file mode 100644
index 0000000..a1965dd
--- /dev/null
+++ b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
@@ -0,0 +1,10 @@
+package com.apache.dubbo.sample.basic;
+
+public interface ComplexProvider {
+ void invokeWithEmptyReq();
+ void invokeWithSingleString(String req);
+ void invokeWithStringList(String[] req);
+ void invokeWithMultiString(String str1, String str2, String str3);
+ String invokeWithEmptyReqStringRsp ();
+ ComplexData invokeWithComplexReqComplexRspPtr(ComplexData complexData);
+}
diff --git a/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
new file mode 100644
index 0000000..79106cd
--- /dev/null
+++ b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
@@ -0,0 +1,35 @@
+package com.apache.dubbo.sample.basic;
+
+public class ComplexProviderImpl implements ComplexProvider {
+ @Override
+ public void invokeWithEmptyReq() {
+ System.out.println("invokeWithEmptyReq");
+ }
+
+ @Override
+ public void invokeWithSingleString(String req) {
+ System.out.println("invokeWithEmptyReq" + req);
+ }
+
+ @Override
+ public void invokeWithStringList(String[] req) {
+ System.out.println("invokeWithEmptyReq" + req);
+ }
+
+ @Override
+ public void invokeWithMultiString(String str1, String str2, String str3) {
+ System.out.println("invokeWithEmptyReq" + str1 + str2 + str3);
+ }
+
+ @Override
+ public String invokeWithEmptyReqStringRsp() {
+ System.out.println("invokeWithEmptyReq");
+ return "invoke success";
+ }
+
+ @Override
+ public ComplexData invokeWithComplexReqComplexRspPtr(ComplexData complexData) {
+ System.out.println("invokeWithComplexReqComplexRspPtr = "+ complexData.GetString());
+ return complexData;
+ }
+}
diff --git a/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go b/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
index 87f308b..4041fb7 100644
--- a/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
+++ b/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
@@ -28,7 +28,6 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
-
"google.golang.org/grpc/reflection"
)
diff --git a/rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go b/rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
index 89625a4..dc13874 100644
--- a/rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
+++ b/rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
@@ -21,7 +21,6 @@ import (
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
-
status "google.golang.org/grpc/status"
)
diff --git a/tracing/dubbo/go-server/tests/integration/main_test.go b/tracing/dubbo/go-server/tests/integration/main_test.go
index f29ce68..ee19ca1 100644
--- a/tracing/dubbo/go-server/tests/integration/main_test.go
+++ b/tracing/dubbo/go-server/tests/integration/main_test.go
@@ -27,10 +27,6 @@ import (
)
import (
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
@@ -44,6 +40,8 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/servicediscovery"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+
+ hessian "github.com/apache/dubbo-go-hessian2"
)
var userProvider = new(UserProvider)
diff --git a/tracing/dubbo/go-server/tests/integration/userprovider_test.go b/tracing/dubbo/go-server/tests/integration/userprovider_test.go
index d795eb9..537111f 100644
--- a/tracing/dubbo/go-server/tests/integration/userprovider_test.go
+++ b/tracing/dubbo/go-server/tests/integration/userprovider_test.go
@@ -23,15 +23,20 @@ import (
"context"
"testing"
)
+
import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+
"github.com/dubbogo/gost/log"
+
"github.com/opentracing/opentracing-go"
+
zipkinot "github.com/openzipkin-contrib/zipkin-go-opentracing"
+
"github.com/openzipkin/zipkin-go"
zipkinhttp "github.com/openzipkin/zipkin-go/reporter/http"
- "github.com/stretchr/testify/assert"
- "dubbo.apache.org/dubbo-go/v3/common/logger"
+ "github.com/stretchr/testify/assert"
)
func TestGetUser(t *testing.T) {
diff --git a/tracing/grpc/go-server/app/helloworld.pb.go b/tracing/grpc/go-server/app/helloworld.pb.go
index 43c9335..a6baf5c 100644
--- a/tracing/grpc/go-server/app/helloworld.pb.go
+++ b/tracing/grpc/go-server/app/helloworld.pb.go
@@ -18,10 +18,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
- "google.golang.org/grpc/status"
-
"google.golang.org/grpc/codes"
-
+ "google.golang.org/grpc/status"
"google.golang.org/grpc/status"
)
[dubbo-go-samples] 14/14: fix: triple attachment ci (#221)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 7dfa08b3a19ba53a8f050b5d39f933567159a505
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Sat Sep 4 15:05:42 2021 +0800
fix: triple attachment ci (#221)
---
api/generate.sh | 4 +-
api/samples_api.pb.go | 137 +++++++++++++--------------------------------
go.mod | 7 ++-
go.sum | 150 +++++++++++++++++++++++++++++++++++++++++++++++++-
4 files changed, 194 insertions(+), 104 deletions(-)
diff --git a/api/generate.sh b/api/generate.sh
index 23c7b71..8b37203 100644
--- a/api/generate.sh
+++ b/api/generate.sh
@@ -1,4 +1,4 @@
export GO111MODULE="on"
export GOPROXY="http://goproxy.io"
-go get -u github.com/dubbogo/tools/cmd/protoc-gen-dubbo3@3.0
-protoc -I . samples_api.proto --dubbo3_out=plugins=grpc+dubbo:.
\ No newline at end of file
+go get -u github.com/dubbogo/tools/cmd/protoc-gen-triple
+protoc -I . samples_api.proto --triple_out=plugins=triple:.
\ No newline at end of file
diff --git a/api/samples_api.pb.go b/api/samples_api.pb.go
index 5451e2c..a8ae83b 100644
--- a/api/samples_api.pb.go
+++ b/api/samples_api.pb.go
@@ -6,6 +6,8 @@ package api
import (
context "context"
fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ grpc "google.golang.org/grpc"
math "math"
)
@@ -13,15 +15,9 @@ import (
"dubbo.apache.org/dubbo-go/v3/protocol"
dgrpc "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
"dubbo.apache.org/dubbo-go/v3/protocol/invocation"
-
+ "github.com/dubbogo/triple/pkg/common"
tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
dubbo3 "github.com/dubbogo/triple/pkg/triple"
-
- proto "github.com/golang/protobuf/proto"
-
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
- status "google.golang.org/grpc/status"
)
// Reference imports to suppress errors if they are not otherwise used.
@@ -159,24 +155,45 @@ type greeterDubbo3Client struct {
func NewGreeterDubbo3Client(cc *dubbo3.TripleConn) GreeterClient {
return &greeterDubbo3Client{cc}
}
-func (c *greeterDubbo3Client) SayHello(ctx context.Context, in *HelloRequest, opt ...grpc.CallOption) (*User, error) {
+func (c *greeterDubbo3Client) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, common.ErrorWithAttachment) {
out := new(User)
interfaceKey := ctx.Value(tripleConstant.InterfaceKey).(string)
- err := c.cc.Invoke(ctx, "/"+interfaceKey+"/SayHello", in, out)
- if err != nil {
- return nil, err
- }
- return out, nil
+ return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SayHello", in, out)
}
// GreeterClientImpl is the client API for Greeter service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GreeterClient interface {
+ // Sends a greeting
+ SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, common.ErrorWithAttachment)
+}
+
type GreeterClientImpl struct {
// Sends a greeting
SayHello func(ctx context.Context, in *HelloRequest) (*User, error)
}
+type Greeter_SayHelloClient interface {
+ CloseAndRecv() (*User, error)
+ grpc.ClientStream
+}
+
+type greeterSayHelloClient struct {
+ grpc.ClientStream
+}
+
+func (x *greeterSayHelloClient) CloseAndRecv() (*User, error) {
+ if err := x.ClientStream.CloseSend(); err != nil {
+ return nil, err
+ }
+ m := new(User)
+ if err := x.ClientStream.RecvMsg(m); err != nil {
+ return nil, err
+ }
+ return m, nil
+}
+
func (c *GreeterClientImpl) Reference() string {
return "greeterImpl"
}
@@ -185,6 +202,12 @@ func (c *GreeterClientImpl) GetDubboStub(cc *dubbo3.TripleConn) GreeterClient {
return NewGreeterDubbo3Client(cc)
}
+// GreeterServer is the server API for Greeter service.
+type GreeterServer interface {
+ // Sends a greeting
+ SayHello(context.Context, *HelloRequest) (*User, error)
+}
+
type GreeterProviderBase struct {
proxyImpl protocol.Invoker
}
@@ -201,7 +224,7 @@ func (c *GreeterProviderBase) Reference() string {
return "greeterImpl"
}
-func _DUBBO_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+func _Triple_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(HelloRequest)
if err := dec(in); err != nil {
return nil, err
@@ -212,7 +235,7 @@ func _DUBBO_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec f
invo := invocation.NewRPCInvocation("SayHello", args, nil)
if interceptor == nil {
result := base.GetProxyImpl().Invoke(ctx, invo)
- return result.Result(), result.Error()
+ return result, result.Error()
}
info := &grpc.UnaryServerInfo{
Server: srv,
@@ -232,92 +255,10 @@ func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc {
Methods: []grpc.MethodDesc{
{
MethodName: "SayHello",
- Handler: _DUBBO_Greeter_SayHello_Handler,
+ Handler: _Triple_Greeter_SayHello_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "samples_api.proto",
}
}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// GreeterClient is the client API for Greeter service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type GreeterClient interface {
- // Sends a greeting
- SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error)
-}
-
-type greeterClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient {
- return &greeterClient{cc}
-}
-
-func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
- out := new(User)
- err := c.cc.Invoke(ctx, "/api.Greeter/SayHello", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// GreeterServer is the server API for Greeter service.
-type GreeterServer interface {
- // Sends a greeting
- SayHello(context.Context, *HelloRequest) (*User, error)
-}
-
-// UnimplementedGreeterServer can be embedded to have forward compatible implementations.
-type UnimplementedGreeterServer struct {
-}
-
-func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*User, error) {
- return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
-}
-
-func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {
- s.RegisterService(&_Greeter_serviceDesc, srv)
-}
-
-func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(HelloRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GreeterServer).SayHello(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/api.Greeter/SayHello",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _Greeter_serviceDesc = grpc.ServiceDesc{
- ServiceName: "api.Greeter",
- HandlerType: (*GreeterServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "SayHello",
- Handler: _Greeter_SayHello_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "samples_api.proto",
-}
diff --git a/go.mod b/go.mod
index 19e3050..a940510 100644
--- a/go.mod
+++ b/go.mod
@@ -1,14 +1,15 @@
module github.com/apache/dubbo-go-samples
require (
- dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210901104537-ddabb2e957aa
+ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210904062533-3e0412eab250
github.com/alibaba/sentinel-golang v1.0.2
github.com/apache/dubbo-getty v1.4.5
github.com/apache/dubbo-go-hessian2 v1.9.2
github.com/bwmarrin/snowflake v0.3.0
github.com/dubbogo/gost v1.11.16
- github.com/dubbogo/net v0.0.3
- github.com/dubbogo/triple v1.0.6-0.20210826093718-8b877016f3bf
+ github.com/dubbogo/net v0.0.4
+ github.com/dubbogo/tools v0.0.0-20210904063948-bc36609f1519 // indirect
+ github.com/dubbogo/triple v1.0.6-0.20210904050749-5721796f3fd6
github.com/emicklei/go-restful/v3 v3.5.2
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/golang/protobuf v1.5.2
diff --git a/go.sum b/go.sum
index df43e51..a395bf9 100644
--- a/go.sum
+++ b/go.sum
@@ -7,12 +7,14 @@ cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6A
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
+cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2/go.mod h1:2l+IXuSuJvEk2g/ze1la8t1sX+yJH220aHo6JJVriM8=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e h1:TnZXDmootOlIL+DZZkS7opNDwbFG2gT+Z9YeSLwKXy0=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e/go.mod h1:quHg7AMGZichyo/h2msHsjregY4oL0lEJlljPbpwgs0=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b h1:swahNLXhkWgQtnkgafdaHPaEWcC51PvEalPY+ovZ6JQ=
@@ -21,22 +23,40 @@ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210901104537-ddabb2e957aa h1:xpWQD2H
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210901104537-ddabb2e957aa/go.mod h1:truc+fGVX3f/luIG6lAc8D49JXETiRtWDF5CVkG7ZMY=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210902110215-82e825c9c36a h1:MQe72C0+cCE3ra6Bk/MtmK3PTrNhNWvnopcOsTW7dP4=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210902110215-82e825c9c36a/go.mod h1:truc+fGVX3f/luIG6lAc8D49JXETiRtWDF5CVkG7ZMY=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210904062533-3e0412eab250 h1:/OcfAvqXX0MAeylJnI+zeGYlG5icXrnxKjNvil6jjEA=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210904062533-3e0412eab250/go.mod h1:qzYPQolHmB+cfNhO0fUGTCWbBRdEnvyssdF8zNIiPLQ=
+github.com/Azure/azure-sdk-for-go v40.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
+github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0=
+github.com/Azure/go-autorest/autorest v0.10.0/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
+github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc=
+github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=
+github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q=
+github.com/Azure/go-autorest/autorest/azure/auth v0.4.2/go.mod h1:90gmfKdlmKgfjUpnCEpOJzsUEjrWDSLwHIG73tSXddM=
+github.com/Azure/go-autorest/autorest/azure/cli v0.3.1/go.mod h1:ZG5p860J94/0kI9mNJVoIoLgXcirM2gF5i2kWloofxw=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
+github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g=
github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
+github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM=
+github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA=
+github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/DataDog/datadog-go v2.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
github.com/Julusian/godocdown v0.0.0-20170816220326-6d19f8ff2df8/go.mod h1:INZr5t32rG59/5xeltqoCJoNY7e5x/3xoY9WSWVWg74=
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
+github.com/Microsoft/go-winio v0.4.3/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
+github.com/NYTimes/gziphandler v1.0.1/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
+github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
@@ -44,11 +64,13 @@ github.com/RoaringBitmap/roaring v0.7.1 h1:HkcLv8q/kwGJnhEWe+vinu+04DGDdQ7nVivMh
github.com/RoaringBitmap/roaring v0.7.1/go.mod h1:jdT9ykXwHFNdJbEtxePexlFYH9LXucApeS0/+/g+p1I=
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
+github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d h1:G0m3OIz70MZUWq3EgK3CesDbo8upS2Vm9/P3FtgI+Jk=
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/Workiva/go-datastructures v1.0.52 h1:PLSK6pwn8mYdaoaCZEMsXBpBotr4HHn9abU0yMQt0NI=
github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA=
+github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af/go.mod h1:5Jv4cbFiHJMsVxt52+i0Ha45fjshj6wxYr1r19tB9bw=
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5 h1:rFw4nCn9iMW+Vajsk51NtYIcwSTkXr+JGrMd36kTDJw=
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
@@ -73,6 +95,7 @@ github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
+github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878/go.mod h1:3AMJUQhVx52RsWOnlkpikZr01T/yAVN2gn0861vByNg=
github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs=
github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc=
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
@@ -80,6 +103,7 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI
github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A=
github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU=
github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
+github.com/aws/aws-sdk-go v1.25.41/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo=
github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g=
@@ -90,6 +114,7 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB
github.com/bits-and-blooms/bitset v1.2.0 h1:Kn4yilvwNtMACtf1eYDlG8H77R07mZSPbMjLyS07ChA=
github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA=
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
+github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps=
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23 h1:D21IyuvjDCshj1/qq+pCNd3VZOAEI9jy6Bi131YlXgI=
github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s=
github.com/bwmarrin/snowflake v0.3.0/go.mod h1:NdZxfVWX+oR6y2K0o6qAYv6gIOP9rjG0/E9WsDpxqwE=
@@ -120,9 +145,12 @@ github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv
github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0=
github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o=
github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc=
+github.com/coredns/coredns v1.1.2/go.mod h1:zASH/MVDgR6XZTbxvOnsZfffS+31vg6Ackf/wo1+AM0=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
+github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
+github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
@@ -135,6 +163,7 @@ github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzA
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
@@ -154,10 +183,17 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denisenkom/go-mssqldb v0.0.0-20190707035753-2be1aa521ff4/go.mod h1:zAg7JM8CkOJ43xKXIj7eRO9kmWm/TW578qo+oDO6tuM=
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
+github.com/denverdino/aliyungo v0.0.0-20170926055100-d3308649c661/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+github.com/digitalocean/godo v1.1.1/go.mod h1:h6faOIcZ8lWIwNQ+DN7b3CgX4Kwby5T+nbpNqkUIozU=
+github.com/digitalocean/godo v1.10.0/go.mod h1:h6faOIcZ8lWIwNQ+DN7b3CgX4Kwby5T+nbpNqkUIozU=
+github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
+github.com/dnaeon/go-vcr v0.0.0-20180814043457-aafff18a5cc2/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
+github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E=
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/go-connections v0.3.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
@@ -165,16 +201,26 @@ github.com/dubbogo/go-zookeeper v1.0.3 h1:UkuY+rBsxdT7Bs63QAzp9z7XqQ53W1j8E5rwl8
github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
+github.com/dubbogo/gost v1.11.11/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/gost v1.11.12/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/gost v1.11.16 h1:fvOw8aKQ0BuUYuD+MaXAYFvT7tg2l7WAS5SL5gZJpFs=
github.com/dubbogo/gost v1.11.16/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
github.com/dubbogo/net v0.0.3 h1:2k53mh+1U8h1gFjJ8ykzyP4wNdAdgjc5moD+xVHI/AE=
github.com/dubbogo/net v0.0.3/go.mod h1:B6/ka3g8VzcyrmdCH4VkHP1K0aHeI37FmclS+TCwIBU=
+github.com/dubbogo/net v0.0.4 h1:Rn9aMPZwOiRE22YhtxmDEE3H0Q3cfVRNhuEjNMelJ/8=
+github.com/dubbogo/net v0.0.4/go.mod h1:1CGOnM7X3he+qgGNqjeADuE5vKZQx/eMSeUkpU3ujIc=
+github.com/dubbogo/tools v0.0.0-20210904062635-52955e96a32f h1:lkv9d9aqTUZ9tflQTFFI4ua0vvPWWC1SRYOdYxX58Fw=
+github.com/dubbogo/tools v0.0.0-20210904062635-52955e96a32f/go.mod h1:Sm3d16Zjq/7VoCSWboQYv4X9suHpkj+FsMdEDApf1pc=
+github.com/dubbogo/tools v0.0.0-20210904063948-bc36609f1519 h1:hFnavSFYADrEdk+2deWsXAKhtCd1HDzIUeTwIxVgm50=
+github.com/dubbogo/tools v0.0.0-20210904063948-bc36609f1519/go.mod h1:4khZ5JiSe4cYdLLYkxoOTW+Ccsffw7ic6TnAqHWpSyo=
+github.com/dubbogo/triple v1.0.1/go.mod h1:O6vQD2XLCWugzAk0P27HTW4+Uhkd8sjaQn0BZijdGzU=
github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df h1:YSfvAnU0ebwLqWnD+5HTTsFhqA+aE4Si2c10zBsUW7c=
github.com/dubbogo/triple v1.0.6-0.20210822081945-0b88cc0d10df/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
github.com/dubbogo/triple v1.0.6-0.20210826093718-8b877016f3bf h1:lj0hNwbjk7UpqyEYo6Kz4poTH4w5UfyqI4Gl6x3HEqo=
github.com/dubbogo/triple v1.0.6-0.20210826093718-8b877016f3bf/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
+github.com/dubbogo/triple v1.0.6-0.20210904050749-5721796f3fd6 h1:ZrCFQ/a0rgK5EBF9FiiSYvCmtC2sLzOoFAbqBVmsA94=
+github.com/dubbogo/triple v1.0.6-0.20210904050749-5721796f3fd6/go.mod h1:KbfU/uZDv+fJEqXYK3qI8m1iuBQ309QxiC0tvTf2pog=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
@@ -182,6 +228,7 @@ github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5m
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
+github.com/elazarl/go-bindata-assetfs v0.0.0-20160803192304-e1a2a7ec64b0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1/YsqVWoWNLQO+fusocsw354rqGTZtAgw=
@@ -196,6 +243,7 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/fastly/go-utils v0.0.0-20180712184237-d95a45783239/go.mod h1:Gdwt2ce0yfBxPvZrHkprdPPTTS3N5rwmLE8T22KBXlw=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
+github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k=
github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4=
@@ -222,6 +270,7 @@ github.com/go-co-op/gocron v0.1.1/go.mod h1:Y9PWlYqDChf2Nbgg7kfS+ZsXHDTZbMZYPEQ0
github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
@@ -234,6 +283,7 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
+github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
@@ -313,6 +363,8 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-querystring v0.0.0-20170111101155-53e6ce116135/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
+github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -320,6 +372,7 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/tcpproxy v0.0.0-20180808230851-dfa16c61dad2/go.mod h1:DavVbd41y+b7ukKDmlnPR4nGYmkWXR6vHUkjQNiHPBs=
github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
@@ -327,7 +380,9 @@ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
+github.com/googleapis/gnostic v0.2.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
+github.com/gophercloud/gophercloud v0.3.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20190910122728-9d188e94fb99/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
@@ -349,37 +404,51 @@ github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4G
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
+github.com/hashicorp/consul v1.8.0/go.mod h1:Gg9/UgAQ9rdY3CTvzQZ6g2jcIb7NlIfjI+0pvLk5D1A=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE=
+github.com/hashicorp/consul/api v1.5.0/go.mod h1:LqwrLNW876eYSuUOo4ZLHBcdKc038txr/IMfbLPATa4=
github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
+github.com/hashicorp/consul/sdk v0.5.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+github.com/hashicorp/go-bexpr v0.1.2/go.mod h1:ANbpTX1oAql27TZkKVeW8p1w8NTdnyzPe/0qqPCKohU=
+github.com/hashicorp/go-checkpoint v0.0.0-20171009173528-1545e56e46de/go.mod h1:xIwEieBHERyEvaeKF/TcHh1Hu+lxPM+n2vT1+g9I4m4=
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
+github.com/hashicorp/go-connlimit v0.2.0/go.mod h1:OUj9FGL1tPIhl/2RCfzYHrIiWj+VVPGNyVPnUX8AqS0=
+github.com/hashicorp/go-discover v0.0.0-20200501174627-ad1e96bde088/go.mod h1:vZu6Opqf49xX5lsFAu7iFNewkcVF1sn/wyapZh5ytlg=
github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI=
github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
+github.com/hashicorp/go-hclog v0.9.1/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g=
+github.com/hashicorp/go-memdb v1.0.3/go.mod h1:LWQ8R70vPrS4OEY9k28D2z8/Zzyu34NVzeRibGAzHO0=
github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
+github.com/hashicorp/go-msgpack v0.5.5/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA=
github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY=
+github.com/hashicorp/go-raftchunking v0.6.1/go.mod h1:cGlg3JtDy7qy6c/3Bu660Mic1JF+7lWqIwCFSb08fX0=
+github.com/hashicorp/go-raftchunking v0.6.3-0.20191002164813-7e9e8525653a/go.mod h1:xbXnmKqX9/+RhPkJ4zrEx4738HacP72aaUPlT2RZ4sU=
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY=
github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
+github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+github.com/hashicorp/go-uuid v1.0.2-0.20191001231223-f32f5fe8d6a8/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
@@ -389,27 +458,45 @@ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+github.com/hashicorp/hil v0.0.0-20160711231837-1e86c6b523c5/go.mod h1:KHvg/R2/dPtaePb16oW4qIyzkMxXOL38xjRN64adsts=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
+github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
+github.com/hashicorp/memberlist v0.2.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
+github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE=
+github.com/hashicorp/net-rpc-msgpackrpc v0.0.0-20151116020338-a14192a58a69/go.mod h1:/z+jUGRBlwVpUZfjute9jWaF6/HuhjuFQuL1YXzVD1Q=
+github.com/hashicorp/raft v1.1.1/go.mod h1:vPAJM8Asw6u8LxC3eJCUZmRP/E4QmUGE1R7g7k8sG/8=
+github.com/hashicorp/raft v1.1.2-0.20191002163536-9c6bd3e3eb17/go.mod h1:vPAJM8Asw6u8LxC3eJCUZmRP/E4QmUGE1R7g7k8sG/8=
+github.com/hashicorp/raft v1.1.2/go.mod h1:vPAJM8Asw6u8LxC3eJCUZmRP/E4QmUGE1R7g7k8sG/8=
+github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod h1:pNv7Wc3ycL6F5oOWn+tPGo2gWD4a5X+yp/ntwdKLjRk=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+github.com/hashicorp/serf v0.9.0/go.mod h1:YL0HO+FifKOW2u1ke99DGVu1zhcpZzNwrLIqBC7vbYU=
+github.com/hashicorp/serf v0.9.2/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk=
github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q=
+github.com/hashicorp/vault/api v1.0.5-0.20191108163347-bdd38fca2cff/go.mod h1:Uf8LaHyrYsgVgHzO2tMZKhqRGlL3UJ6XaSwW2EA1Iqo=
github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE=
github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M=
+github.com/hashicorp/vault/sdk v0.1.14-0.20191108161836-82f2b5571044/go.mod h1:PcekaFGiPJyHnFy+NZhP6ll650zEw51Ag7g/YEa+EOU=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267 h1:e1ok06zGrWJW91rzRroyl5nRNqraaBe4d5hiKcVZuHM=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
github.com/hashicorp/vault/sdk v0.2.1 h1:S4O6Iv/dyKlE9AUTXGa7VOvZmsCvg36toPKgV4f2P4M=
github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U=
+github.com/hashicorp/vic v1.5.1-0.20190403131502-bbfe86ec9443/go.mod h1:bEpDU35nTu0ey1EXjwNwPjI9xErAsoOCmcMb9GKvyxo=
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
+github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ=
+github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
github.com/jackc/pgx v3.6.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
+github.com/jarcoal/httpmock v0.0.0-20180424175123-9c70cfe4a1da/go.mod h1:ks+b9deReOc7jgqp+e7LuFiCBH6Rm5hL32cLcEAArb4=
github.com/jehiah/go-strftime v0.0.0-20171201141054-1d33003b3869/go.mod h1:cJ6Cj7dQo+O6GJNiMx+Pa94qKj+TG8ONdKHgMNIyyag=
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8 h1:mGIXW/lubQ4B+3bXTLxcTMTjUNDqoF6T/HUW9LbFx9s=
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s=
@@ -422,6 +509,8 @@ github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeY
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
+github.com/joyent/triton-go v0.0.0-20180628001255-830d2b111e62/go.mod h1:U+RSyWxWd04xTqnuOQxnai7XGS2PrPY2cfGoDKtMHjA=
+github.com/joyent/triton-go v1.7.1-0.20200416154420-6801d15b779f/go.mod h1:KDSfL7qe5ZfQqvlDMkVjCztbmcpp/c8M77vhQP8ZPvk=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
@@ -447,6 +536,7 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/knadh/koanf v1.1.1 h1:doO5UBvSXcmngdr/u54HKe+Uz4ZZw0/YHVzSsnE3vD4=
github.com/knadh/koanf v1.1.1/go.mod h1:xpPTwMhsA/aaQLAilyCCqfpEiY1gpa160AiCuWHJUjY=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -466,6 +556,8 @@ github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
+github.com/linode/linodego v0.7.1/go.mod h1:ga11n3ivecUrPCHN0rANxKmfWBJVkOXfLMZinAbj2sY=
+github.com/linode/linodego v0.10.0/go.mod h1:cziNP7pbvE3mXIPneHj0oRY8L1WtGEIKlZ8LANE4eXA=
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
@@ -481,14 +573,19 @@ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
+github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
+github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v2.0.1+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
+github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
+github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
+github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
@@ -496,15 +593,21 @@ github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
+github.com/mitchellh/go-testing-interface v1.14.0/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8=
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
+github.com/mitchellh/hashstructure v0.0.0-20170609045927-2bca23e0e452/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ=
+github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ=
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+github.com/mitchellh/mapstructure v1.2.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/pointerstructure v1.0.0/go.mod h1:k4XwG94++jLVsSiTxo7qdIfXA9pj9EAeo0QsNNJOLZ8=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
+github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -533,11 +636,13 @@ github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzE
github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w=
github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
+github.com/nicolai86/scaleway-sdk v1.10.2-0.20180628010248-798f60e20bb2/go.mod h1:TLb2Sg7HQcgGdloNxkrmtgDNR9uVYF3lfdFIN4Ro6Sk=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs=
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
+github.com/olekukonko/tablewriter v0.0.0-20180130162743-b8a9be070da4/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=
github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
@@ -565,6 +670,7 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS
github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw=
github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4=
+github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c/go.mod h1:otzZQXgoO96RTzDB/Hycg0qZcXZsWJGJRSXbmEIJ+4M=
github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM=
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
@@ -602,6 +708,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
+github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s=
+github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM=
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs=
@@ -639,13 +747,17 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O
github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
+github.com/rboyer/safeio v0.2.1/go.mod h1:Cq/cEPK+YXFn622lsQ0K4KsPZSPtaptHHEldsy7Fmig=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/renier/xmlrpc v0.0.0-20170708154548-ce4a1a486c03/go.mod h1:gRAiPF5C5Nd0eyyRdqIu9qTiFSoZzpTq727b5B8fkkU=
github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA=
github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/rs/zerolog v1.4.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU=
+github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
@@ -653,16 +765,20 @@ github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIH
github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E=
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b h1:gQZ0qzfKHQIybLANtM3mBXNUtOfsCFXeTsnBqCsx1KM=
github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
+github.com/sean-/conswriter v0.0.0-20180208195008-f5ae3917a627/go.mod h1:7zjs06qF79/FKAJpBvFx3P8Ww4UTIMAe+lpNXDHziac=
+github.com/sean-/pager v0.0.0-20180208200047-666be9bf53b5/go.mod h1:BeybITEsBEg6qbIiqJ6/Bqeq25bCLbL7YFmpaFfJDuM=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
github.com/shima-park/agollo v1.2.6/go.mod h1:pbHN4SgHDd84eTKyhCvG2LjQ+6mcZq/fEkElxL+oRYk=
+github.com/shirou/gopsutil v0.0.0-20181107111621-48177ef5f880/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shirou/gopsutil v3.20.11-0.20201116082039-2fb5da2f2449+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
github.com/shirou/gopsutil v3.20.11+incompatible h1:LJr4ZQK4mPpIV5gOa4jCOKOGb4ty4DZO54I4FGqIpto=
github.com/shirou/gopsutil v3.20.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
+github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
+github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
@@ -671,17 +787,20 @@ github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
+github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d/go.mod h1:Cw4GTlQccdRGSEf6KiMju767x0NEHE0YIVPJSaXjlsw=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/soheilhy/cmux v0.1.5-0.20210205191134-5ec6847320e5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
+github.com/spf13/afero v1.2.1/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
+github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI=
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
@@ -691,6 +810,7 @@ github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
@@ -713,6 +833,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
github.com/tebeka/strftime v0.1.3/go.mod h1:7wJm3dZlpr4l/oVK0t1HYIc4rMzQ2XJlOMIUJUJH6XQ=
+github.com/tencentcloud/tencentcloud-sdk-go v3.0.83+incompatible/go.mod h1:0PfYow01SHPMhKY31xa+EFz2RStxIqj6JFAJS+IkCi4=
+github.com/tent/http-link-go v0.0.0-20130702225549-ac974c61c2f9/go.mod h1:RHkNRtSLfOK7qBTHaeSX1D6BNpI3qw7NTxsmNr4RvN8=
github.com/tevid/gohamcrest v1.1.1/go.mod h1:3UvtWlqm8j5JbwYZh80D/PVBt0mJ1eJiYgZMibh0H/k=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
@@ -728,6 +850,7 @@ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGr
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go v1.2.6 h1:tGiWC9HENWE2tqYycIqFTNorMmFRVhNwCpDOpWqnk8E=
github.com/ugorji/go v1.2.6/go.mod h1:anCg0y61KIhDlPZmnH+so+RQbysYVyDko0IMgJv0Nn0=
+github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
github.com/ugorji/go/codec v1.2.6 h1:7kbGefxLoDBuYXOms4yD7223OpNMMPNPZxXk5TvFcyQ=
github.com/ugorji/go/codec v1.2.6/go.mod h1:V6TCNZ4PHqoHGFZuSG1W8nrCzzdgA2DozYxWFFpvxTw=
@@ -735,6 +858,7 @@ github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
+github.com/vmware/govmomi v0.18.0/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -795,13 +919,16 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo=
golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -814,6 +941,7 @@ golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
@@ -824,6 +952,7 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
@@ -836,6 +965,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180611182652-db08ff08e862/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -854,7 +984,9 @@ golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -893,6 +1025,7 @@ golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -905,12 +1038,16 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190508220229-2d0786266e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190515120540-06a5c4944438/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190523142557-0e01d883c5c5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -919,6 +1056,7 @@ golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -976,6 +1114,7 @@ golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgw
golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -983,7 +1122,10 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20191107010934-f79515f33823/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
@@ -1003,6 +1145,7 @@ google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -1020,6 +1163,7 @@ google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
@@ -1038,6 +1182,7 @@ google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
@@ -1081,8 +1226,10 @@ gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno=
gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
+gopkg.in/resty.v1 v1.9.1/go.mod h1:vo52Hzryw9PnPHcJfPsBiFW62XhNx5OczbV9y+IMpgc=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
+gopkg.in/square/go-jose.v2 v2.4.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
@@ -1121,6 +1268,7 @@ k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
+launchpad.net/gocheck v0.0.0-20140225173054-000000000087/go.mod h1:hj7XX3B/0A+80Vse0e+BUHsHMTEhd0O4cpUHr/e/BUM=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
[dubbo-go-samples] 07/14: add triple msgpack sample (#212)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 55184c30f26c505c1952429924ad8732da4b1320
Author: 氕氘氚 <cj...@163.com>
AuthorDate: Sat Aug 28 09:04:15 2021 +0800
add triple msgpack sample (#212)
---
.run/triple-msgpack-client.run.xml | 15 ------
.run/triple-msgpack-server.run.xml | 15 ------
.run/triple/triple-msgpack-client.run.xml | 7 ++-
.run/triple/triple-msgpack-server.run.xml | 7 ++-
rpc/dubbo3/msgpack/go-client/cmd/client.go | 27 +++++-----
rpc/dubbo3/msgpack/go-client/conf/client.yml | 33 ------------
rpc/dubbo3/msgpack/go-client/conf/dubbogo.yml | 14 +++++
rpc/dubbo3/msgpack/go-client/conf/log.yml | 27 ----------
rpc/dubbo3/msgpack/go-client/pkg/hello.go | 36 -------------
rpc/dubbo3/msgpack/go-server/cmd/server.go | 35 +++++++-----
rpc/dubbo3/msgpack/go-server/conf/client.yml | 32 -----------
rpc/dubbo3/msgpack/go-server/conf/dubbogo.yml | 18 +++++++
rpc/dubbo3/msgpack/go-server/conf/log.yml | 27 ----------
rpc/dubbo3/msgpack/go-server/conf/server.yml | 30 -----------
.../msgpack/go-server/docker/docker-compose.yml | 9 ----
.../go-server/docker/docker-compose.yml~merged | 9 ----
.../go-server/docker/docker-health-check.sh | 10 ----
rpc/dubbo3/msgpack/go-server/pkg/greeter.go | 46 ----------------
.../go-server/tests/integration/main_test.go | 62 ----------------------
.../tests/integration/userprovider_test.go | 38 -------------
20 files changed, 74 insertions(+), 423 deletions(-)
diff --git a/.run/triple-msgpack-client.run.xml b/.run/triple-msgpack-client.run.xml
deleted file mode 100644
index 76d0bf0..0000000
--- a/.run/triple-msgpack-client.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="triple-msgpack-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="triple">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-client/conf/client.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/msgpack/go-client/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
- <filePath value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/triple-msgpack-server.run.xml b/.run/triple-msgpack-server.run.xml
deleted file mode 100644
index 5ff8ee6..0000000
--- a/.run/triple-msgpack-server.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="triple-msgpack-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="triple">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-server/conf/server.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/msgpack/go-server/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
- <filePath value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/triple/triple-msgpack-client.run.xml b/.run/triple/triple-msgpack-client.run.xml
index d76c342..c120b23 100644
--- a/.run/triple/triple-msgpack-client.run.xml
+++ b/.run/triple/triple-msgpack-client.run.xml
@@ -3,12 +3,11 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-client/conf/client.yml" />
+ <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/rpc/dubbo3/msgpack/go-client/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/msgpack/go-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/msgpack/go-client/cmd" />
+ <filePath value="$PROJECT_DIR$/rpc/dubbo3/msgpack/go-client/cmd/client.go" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/msgpack/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
diff --git a/.run/triple/triple-msgpack-server.run.xml b/.run/triple/triple-msgpack-server.run.xml
index 6e12c1c..ffdc266 100644
--- a/.run/triple/triple-msgpack-server.run.xml
+++ b/.run/triple/triple-msgpack-server.run.xml
@@ -3,12 +3,11 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-server/conf/server.yml" />
+ <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/rpc/dubbo3/msgpack/go-server/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/msgpack/go-server/cmd/server.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/msgpack/go-server/cmd" />
+ <filePath value="$PROJECT_DIR$/rpc/dubbo3/msgpack/go-server/cmd/server.go" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/msgpack/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
<method v="2" />
</configuration>
diff --git a/rpc/dubbo3/msgpack/go-client/cmd/client.go b/rpc/dubbo3/msgpack/go-client/cmd/client.go
index 3a52862..d0bc974 100644
--- a/rpc/dubbo3/msgpack/go-client/cmd/client.go
+++ b/rpc/dubbo3/msgpack/go-client/cmd/client.go
@@ -24,24 +24,24 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/grpc"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+ gxlog "github.com/dubbogo/gost/log"
)
import (
- "github.com/apache/dubbo-go-samples/general/dubbo3/msgpack/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(pkg.UserProvider)
+type UserProvider struct {
+ GetUser func(ctx context.Context, req *api.User) (rsp *api.User, err error)
+}
+
+func (u *UserProvider) Reference() string {
+ return "greeterImpl"
+}
+
+var userProvider = new(UserProvider)
func init() {
config.SetConsumerService(userProvider)
@@ -53,8 +53,7 @@ func main() {
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), &pkg.User{Name: "laurence"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &api.User{Name: "laurence"})
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
diff --git a/rpc/dubbo3/msgpack/go-client/conf/client.yml b/rpc/dubbo3/msgpack/go-client/conf/client.yml
deleted file mode 100644
index 2a1082a..0000000
--- a/rpc/dubbo3/msgpack/go-client/conf/client.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "tri"
- serialization: "msgpack"
-# url: "dubbo://127.0.0.1:20000" # target server ip:port
- interface: "com.apache.dubbo.sample.basic.IGreeter"
\ No newline at end of file
diff --git a/rpc/dubbo3/msgpack/go-client/conf/dubbogo.yml b/rpc/dubbo3/msgpack/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..b33f18c
--- /dev/null
+++ b/rpc/dubbo3/msgpack/go-client/conf/dubbogo.yml
@@ -0,0 +1,14 @@
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "greeterImpl":
+ protocol: "tri"
+ serialization: "msgpack"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/rpc/dubbo3/msgpack/go-client/conf/log.yml b/rpc/dubbo3/msgpack/go-client/conf/log.yml
deleted file mode 100644
index 8c3f700..0000000
--- a/rpc/dubbo3/msgpack/go-client/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "info"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/rpc/dubbo3/msgpack/go-client/pkg/hello.go b/rpc/dubbo3/msgpack/go-client/pkg/hello.go
deleted file mode 100644
index da5c377..0000000
--- a/rpc/dubbo3/msgpack/go-client/pkg/hello.go
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req *User, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
diff --git a/rpc/dubbo3/msgpack/go-server/cmd/server.go b/rpc/dubbo3/msgpack/go-server/cmd/server.go
index 0664d29..9c956c0 100644
--- a/rpc/dubbo3/msgpack/go-server/cmd/server.go
+++ b/rpc/dubbo3/msgpack/go-server/cmd/server.go
@@ -18,6 +18,7 @@
package main
import (
+ "context"
"fmt"
"os"
"os/signal"
@@ -26,30 +27,40 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- _ "github.com/dubbogo/triple/pkg/triple"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+ gxlog "github.com/dubbogo/gost/log"
)
import (
- "github.com/apache/dubbo-go-samples/general/dubbo3/msgpack/go-server/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
+type UserProvider struct {
+}
+
+func (u UserProvider) GetUser(ctx context.Context, user *api.User) (*api.User, error) {
+ gxlog.CInfo("req:%#v", user)
+ rsp := api.User{
+ Name: "12345",
+ Id: "Hello " + user.Name,
+ Age: 18,
+ }
+ gxlog.CInfo("rsp:%#v", rsp)
+ return &rsp, nil
+}
+
+func (u UserProvider) Reference() string {
+ return "greeterImpl"
+}
+
var (
survivalTimeout = int(3 * time.Second)
)
func init() {
- config.SetProviderService(new(pkg.UserProvider))
+ config.SetProviderService(new(UserProvider))
}
// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
diff --git a/rpc/dubbo3/msgpack/go-server/conf/client.yml b/rpc/dubbo3/msgpack/go-server/conf/client.yml
deleted file mode 100644
index 144bc66..0000000
--- a/rpc/dubbo3/msgpack/go-server/conf/client.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "tri"
- serialization: "msgpack"
- interface: "com.apache.dubbo.sample.basic.IGreeter"
diff --git a/rpc/dubbo3/msgpack/go-server/conf/dubbogo.yml b/rpc/dubbo3/msgpack/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..0b208b4
--- /dev/null
+++ b/rpc/dubbo3/msgpack/go-server/conf/dubbogo.yml
@@ -0,0 +1,18 @@
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "triple":
+ name: "tri"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "greeterImpl":
+ protocol: "triple"
+ serialization: "msgpack"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/rpc/dubbo3/msgpack/go-server/conf/log.yml b/rpc/dubbo3/msgpack/go-server/conf/log.yml
deleted file mode 100644
index 8c3f700..0000000
--- a/rpc/dubbo3/msgpack/go-server/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "info"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/rpc/dubbo3/msgpack/go-server/conf/server.yml b/rpc/dubbo3/msgpack/go-server/conf/server.yml
deleted file mode 100644
index 8ae95f6..0000000
--- a/rpc/dubbo3/msgpack/go-server/conf/server.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 greeter server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZK":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZK"
- protocol: "tri" # tri is dubbo-go3.0 protocol
- serialization: "msgpack" # msgpack is serialization type
- interface: "com.apache.dubbo.sample.basic.IGreeter"
-
-# protocol config
-protocols:
- "tri":
- name: "tri"
- port: 20001
\ No newline at end of file
diff --git a/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml b/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml
deleted file mode 100644
index 8724179..0000000
--- a/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml~merged b/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/dubbo3/msgpack/go-server/docker/docker-health-check.sh b/rpc/dubbo3/msgpack/go-server/docker/docker-health-check.sh
deleted file mode 100644
index 2cc32c2..0000000
--- a/rpc/dubbo3/msgpack/go-server/docker/docker-health-check.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-curl 127.0.0.1:2181
-res=$?
-passCode=52
-while [ "$res" != "$passCode" ];do
- sleep 5
- curl 127.0.0.1:2181
- res=$?
-done
-
-sleep 5
diff --git a/rpc/dubbo3/msgpack/go-server/pkg/greeter.go b/rpc/dubbo3/msgpack/go-server/pkg/greeter.go
deleted file mode 100644
index 3283212..0000000
--- a/rpc/dubbo3/msgpack/go-server/pkg/greeter.go
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
-)
-
-import (
- "github.com/dubbogo/gost/log"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
-}
-
-type UserProvider struct {
-}
-
-func (u UserProvider) GetUser(ctx context.Context, user *User) (*User, error) {
- gxlog.CInfo("req:%#v", user)
- rsp := User{"12345", "Hello " + user.Name, 18}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u UserProvider) Reference() string {
- return "UserProvider"
-}
diff --git a/rpc/dubbo3/msgpack/go-server/tests/integration/main_test.go b/rpc/dubbo3/msgpack/go-server/tests/integration/main_test.go
deleted file mode 100644
index d7edc46..0000000
--- a/rpc/dubbo3/msgpack/go-server/tests/integration/main_test.go
+++ /dev/null
@@ -1,62 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "os"
- "testing"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-)
-
-var userProvider = new(UserProvider)
-
-func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- config.Load()
- time.Sleep(3 * time.Second)
- os.Exit(m.Run())
-}
-
-type User struct {
- ID string
- Name string
- Age int32
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req *User, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
diff --git a/rpc/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go b/rpc/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go
deleted file mode 100644
index 7a08d19..0000000
--- a/rpc/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,38 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "testing"
-)
-
-import (
- "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"}, user)
- assert.Nil(t, err)
- assert.Equal(t, "12345", user.ID)
- assert.Equal(t, "Hello laurence", user.Name)
- assert.Equal(t, int32(18), user.Age)
-}
[dubbo-go-samples] 03/14: Merge pull request #190 from
zhaoyunxing92/config-enhance
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 32789a2685c33d0890a188c53f13db2d5379de8e
Merge: 07bf5ee 62f6d2b
Author: zhaoyunxing <23...@qq.com>
AuthorDate: Wed Aug 4 19:58:27 2021 +0800
Merge pull request #190 from zhaoyunxing92/config-enhance
add:zk registry
.run/helloworld-go-server.run.xml | 15 ----
.run/registry/registry-zookeeper-go-client.run.xml | 11 +++
.run/registry/registry-zookeeper-go-server.run.xml | 11 +++
go.mod | 2 +
go.sum | 31 ++++++++-
registry/zookeeper/go-client/cmd/client.go | 9 +--
registry/zookeeper/go-client/conf/application.yml | 20 ++++++
registry/zookeeper/go-client/conf/client.yml | 59 ----------------
registry/zookeeper/go-client/conf/log.yml | 27 --------
registry/zookeeper/go-client/pkg/user.go | 6 ++
registry/zookeeper/go-server/cmd/server.go | 15 ++--
registry/zookeeper/go-server/conf/client.yml | 59 ----------------
registry/zookeeper/go-server/conf/log.yml | 27 --------
registry/zookeeper/go-server/conf/server.yml | 79 +++++++---------------
registry/zookeeper/go-server/pkg/user.go | 5 ++
15 files changed, 119 insertions(+), 257 deletions(-)
[dubbo-go-samples] 13/14: Config enhance rpc dubbo (#213)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 9cf47225f6a03123e9f371174d47ee544f0e2be8
Author: sunrui1225 <sr...@163.com>
AuthorDate: Sat Sep 4 14:14:35 2021 +0800
Config enhance rpc dubbo (#213)
* Config enhance: rpc samples dubbo
* Config enhance rpc dubbo:add README.md
* Config enhance: rpc samples dubbo,reimport ,update logger, update java file
* Config enhance rpc dubbo: add run.sh, update README.md
* Config enhance rpc dubbo: update user provider interface specification
Co-authored-by: ruishansun <ru...@creditease.cn>
---
.../rpc/dubbo}/docker/docker-compose.yml | 0
.../rpc/dubbo}/docker/docker-health-check.sh | 0
.../rpc/dubbo}/tests/integration/main_test.go | 0
.../dubbo}/tests/integration/userprovider_test.go | 0
rpc/dubbo/README.md | 23 ++
rpc/dubbo/README_zh.md | 22 +
rpc/dubbo/go-client/cmd/client.go | 71 ++--
rpc/dubbo/go-client/conf/client.yml | 56 ---
rpc/dubbo/go-client/conf/dubbogo.yml | 15 +
rpc/dubbo/go-client/pkg/user.go | 24 +-
rpc/dubbo/go-server/cmd/server.go | 12 +-
rpc/dubbo/go-server/conf/client.yml | 58 ---
rpc/dubbo/go-server/conf/dubbogo.yml | 26 ++
rpc/dubbo/go-server/conf/server.yml | 55 ---
rpc/dubbo/go-server/pkg/user_provider.go | 18 +-
rpc/dubbo/java-client/2.6/run.sh | 2 +
.../src/main/java/org/apache/dubbo/Consumer.java | 454 ++++++++++-----------
rpc/dubbo/java-client/2.7/run.sh | 2 +
.../src/main/java/org/apache/dubbo/Consumer.java | 454 ++++++++++-----------
rpc/dubbo/java-server/2.6/run.sh | 2 +
.../main/java/org/apache/dubbo/UserProvider.java | 102 ++---
.../org/apache/dubbo/UserProviderAnotherImpl.java | 290 ++++++-------
.../java/org/apache/dubbo/UserProviderImpl.java | 234 +++++------
rpc/dubbo/java-server/2.7/run.sh | 2 +
.../main/java/org/apache/dubbo/UserProvider.java | 102 ++---
.../org/apache/dubbo/UserProviderAnotherImpl.java | 290 ++++++-------
.../java/org/apache/dubbo/UserProviderImpl.java | 234 +++++------
27 files changed, 1235 insertions(+), 1313 deletions(-)
diff --git a/rpc/dubbo/go-server/docker/docker-compose.yml b/integrate_test/rpc/dubbo/docker/docker-compose.yml
similarity index 100%
rename from rpc/dubbo/go-server/docker/docker-compose.yml
rename to integrate_test/rpc/dubbo/docker/docker-compose.yml
diff --git a/rpc/dubbo/go-server/docker/docker-health-check.sh b/integrate_test/rpc/dubbo/docker/docker-health-check.sh
similarity index 100%
rename from rpc/dubbo/go-server/docker/docker-health-check.sh
rename to integrate_test/rpc/dubbo/docker/docker-health-check.sh
diff --git a/rpc/dubbo/go-server/tests/integration/main_test.go b/integrate_test/rpc/dubbo/tests/integration/main_test.go
similarity index 100%
rename from rpc/dubbo/go-server/tests/integration/main_test.go
rename to integrate_test/rpc/dubbo/tests/integration/main_test.go
diff --git a/rpc/dubbo/go-server/tests/integration/userprovider_test.go b/integrate_test/rpc/dubbo/tests/integration/userprovider_test.go
similarity index 100%
rename from rpc/dubbo/go-server/tests/integration/userprovider_test.go
rename to integrate_test/rpc/dubbo/tests/integration/userprovider_test.go
diff --git a/rpc/dubbo/README.md b/rpc/dubbo/README.md
new file mode 100644
index 0000000..c2c7fdc
--- /dev/null
+++ b/rpc/dubbo/README.md
@@ -0,0 +1,23 @@
+# RPC Dubbo for Dubbo-go 3.0
+
+For api definition and go client and server startup, please refer to [dubbo-go 3.0 quickstart](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart.html)
+
+## Instructions
+1. Start zookeeper
+
+2. Start the server
+
+Use goland to start rpc-dubbo-go-server
+
+or
+
+Execute `sh run.sh` in the java-server folder to start the java server
+
+3. Start the client
+
+Use goland to start rpc-dubbo-go-client
+
+or
+
+Execute `sh run.sh` under the java-client folder to start the java client
+
diff --git a/rpc/dubbo/README_zh.md b/rpc/dubbo/README_zh.md
new file mode 100644
index 0000000..56490bd
--- /dev/null
+++ b/rpc/dubbo/README_zh.md
@@ -0,0 +1,22 @@
+# RPC Dubbo for Dubbo-go 3.0
+
+api 定义以及 go 客户端、服务端启动,可以参考 [dubbo-go 3.0 快速开始](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart.html)
+
+## 使用方法
+1. 启动 zookeeper
+
+2. 启动服务端
+
+使用 goland 启动 rpc-dubbo-go-server
+
+或者
+
+在 java-server 文件夹下执行 `sh run.sh` 启动 java server
+
+3. 启动客户端
+
+使用 goland 启动 rpc-dubbo-go-client
+
+或者
+
+在 java-client 文件夹下执行 `sh run.sh` 启动 java client
diff --git a/rpc/dubbo/go-client/cmd/client.go b/rpc/dubbo/go-client/cmd/client.go
index dcd1939..03a78fd 100644
--- a/rpc/dubbo/go-client/cmd/client.go
+++ b/rpc/dubbo/go-client/cmd/client.go
@@ -23,18 +23,10 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
)
import (
@@ -45,7 +37,7 @@ var (
userProvider = new(pkg.UserProvider)
)
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+// need to setup environment variable "DUBBO_GO_CONFIG_PATH" to "conf/dubbogo.yml" before run
func main() {
hessian.RegisterJavaEnum(pkg.Gender(pkg.MAN))
hessian.RegisterJavaEnum(pkg.Gender(pkg.WOMAN))
@@ -57,84 +49,77 @@ func main() {
time.Sleep(6 * time.Second)
- gxlog.CInfo("\n\ntest")
+ logger.Info("\n\ntest")
test()
}
func test() {
- gxlog.CInfo("\n\n\necho")
+ logger.Info("\n\n\necho")
res, err := userProvider.Echo(context.TODO(), "OK")
if err != nil {
panic(err)
}
- gxlog.CInfo("res: %v\n", res)
+ logger.Info("res: %v\n", res)
- gxlog.CInfo("\n\n\nstart to test dubbo")
+ logger.Info("\n\n\nstart to test dubbo")
user := &pkg.User{}
- err = userProvider.GetUser(context.TODO(), []interface{}{"A003"}, user)
+ user, err = userProvider.GetUser(context.TODO(), []interface{}{"A003"})
if err != nil {
panic(err)
}
- gxlog.CInfo("response result: %v", user)
+ logger.Info("response result: %v", user)
- gxlog.CInfo("\n\n\nstart to test dubbo - enum")
+ logger.Info("\n\n\nstart to test dubbo - enum")
gender, err := userProvider.GetGender(1)
if err != nil {
- gxlog.CInfo("error: %v", err)
+ logger.Info("error: %v", err)
} else {
- gxlog.CInfo("response result: %v", gender)
+ logger.Info("response result: %v", gender)
}
- gxlog.CInfo("\n\n\nstart to test dubbo - GetUser0")
+ logger.Info("\n\n\nstart to test dubbo - GetUser0")
ret, err := userProvider.GetUser0("A003", "Moorse")
if err != nil {
panic(err)
}
- gxlog.CInfo("response result: %v", ret)
+ logger.Info("response result: %v", ret)
- gxlog.CInfo("\n\n\nstart to test dubbo - GetUsers")
+ logger.Info("\n\n\nstart to test dubbo - GetUsers")
ret1, err := userProvider.GetUsers([]interface{}{[]interface{}{"A002", "A003"}})
if err != nil {
panic(err)
}
- gxlog.CInfo("response result: %v", ret1)
+ logger.Info("response result: %v", ret1)
- gxlog.CInfo("\n\n\nstart to test dubbo - getUser")
+ logger.Info("\n\n\nstart to test dubbo - getUser")
user = &pkg.User{}
var i int32 = 1
- err = userProvider.GetUser2(context.TODO(), []interface{}{i}, user)
+ user, err = userProvider.GetUser2(context.TODO(), []interface{}{i})
if err != nil {
panic(err)
}
- gxlog.CInfo("response result: %v", user)
+ logger.Info("response result: %v", user)
- gxlog.CInfo("\n\n\nstart to test dubbo - getUser - overload")
+ logger.Info("\n\n\nstart to test dubbo - getUser - overload")
user = &pkg.User{}
- err = userProvider.GetUser2(context.TODO(), []interface{}{i, "overload"}, user)
- if err != nil {
- panic(err)
- }
- gxlog.CInfo("response result: %v", user)
-
- gxlog.CInfo("\n\n\nstart to test dubbo - GetUser3")
- err = userProvider.GetUser3()
+ user, err = userProvider.GetUser2(context.TODO(), []interface{}{i, "overload"})
if err != nil {
panic(err)
}
- gxlog.CInfo("succ!")
+ logger.Info("response result: %v", user)
- gxlog.CInfo("\n\n\nstart to test dubbo - getErr")
+ logger.Info("\n\n\nstart to test dubbo - getErr")
user = &pkg.User{}
- err = userProvider.GetErr(context.TODO(), []interface{}{"A003"}, user)
+ user, err = userProvider.GetErr(context.TODO(), []interface{}{"A003"})
if err == nil {
panic("err is nil")
}
- gxlog.CInfo("getErr - error: %v", err)
+ logger.Info("getErr - error: %v", err)
- gxlog.CInfo("\n\n\nstart to test dubbo illegal method")
- err = userProvider.GetUser1(context.TODO(), []interface{}{"A003"}, user)
+ logger.Info("\n\n\nstart to test dubbo illegal method")
+ user, err = userProvider.GetUser1(context.TODO(), []interface{}{"A003"})
if err == nil {
panic("err is nil")
}
- gxlog.CInfo("error: %v", err)
+ logger.Info("error: %v", err)
}
diff --git a/rpc/dubbo/go-client/conf/client.yml b/rpc/dubbo/go-client/conf/client.yml
deleted file mode 100644
index d744d39..0000000
--- a/rpc/dubbo/go-client/conf/client.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoConsumer"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/rpc/dubbo/go-client/conf/dubbogo.yml b/rpc/dubbo/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..e1e64cd
--- /dev/null
+++ b/rpc/dubbo/go-client/conf/dubbogo.yml
@@ -0,0 +1,15 @@
+# dubbo client yaml configure file
+
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "UserProvider":
+ protocol: "dubbo"
+ interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
diff --git a/rpc/dubbo/go-client/pkg/user.go b/rpc/dubbo/go-client/pkg/user.go
index 14ef525..12624ac 100644
--- a/rpc/dubbo/go-client/pkg/user.go
+++ b/rpc/dubbo/go-client/pkg/user.go
@@ -89,15 +89,15 @@ func (User) JavaClassName() string {
type UserProvider struct {
GetUsers func(req []interface{}) ([]interface{}, error)
- GetErr func(ctx context.Context, req []interface{}, rsp *User) error
+ GetErr func(ctx context.Context, req []interface{}) (*User, error)
- GetUserOld func(ctx context.Context, req []interface{}, rsp *User) error
+ GetUser func(ctx context.Context, req []interface{}) (*User, error)
GetUserNew func(ctx context.Context, req1, req2 *User) (*User, error)
GetUser0 func(id string, name string) (User, error)
- GetUser1 func(ctx context.Context, req []interface{}, rsp *User) error
- GetUser2 func(ctx context.Context, req []interface{}, rsp *User) error `dubbo:"getUser"`
+ GetUser1 func(ctx context.Context, req []interface{}) (*User, error)
+ GetUser2 func(ctx context.Context, req []interface{}) (*User, error) `dubbo:"getUser"`
GetUser3 func() error
GetGender func(i int32) (Gender, error)
Echo func(ctx context.Context, req interface{}) (interface{}, error) // Echo represent EchoFilter will be used
@@ -109,11 +109,11 @@ func (u *UserProvider) Reference() string {
type UserProvider1 struct {
GetUsers func(req []interface{}) ([]interface{}, error)
- GetErr func(ctx context.Context, req []interface{}, rsp *User) error
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetErr func(ctx context.Context, req []interface{}) (*User, error)
+ GetUser func(ctx context.Context, req []interface{}) (*User, error)
GetUser0 func(id string, name string) (User, error)
- GetUser1 func(ctx context.Context, req []interface{}, rsp *User) error
- GetUser2 func(ctx context.Context, req []interface{}, rsp *User) error `dubbo:"getUser"`
+ GetUser1 func(ctx context.Context, req []interface{}) (*User, error)
+ GetUser2 func(ctx context.Context, req []interface{}) (*User, error) `dubbo:"getUser"`
GetUser3 func() error
Echo func(ctx context.Context, req interface{}) (interface{}, error) // Echo represent EchoFilter will be used
}
@@ -124,11 +124,11 @@ func (u *UserProvider1) Reference() string {
type UserProvider2 struct {
GetUsers func(req []interface{}) ([]interface{}, error)
- GetErr func(ctx context.Context, req []interface{}, rsp *User) error
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetErr func(ctx context.Context, req []interface{}) (*User, error)
+ GetUser func(ctx context.Context, req []interface{}) (*User, error)
GetUser0 func(id string, name string) (User, error)
- GetUser1 func(ctx context.Context, req []interface{}, rsp *User) error
- GetUser2 func(ctx context.Context, req []interface{}, rsp *User) error `dubbo:"getUser"`
+ GetUser1 func(ctx context.Context, req []interface{}) (*User, error)
+ GetUser2 func(ctx context.Context, req []interface{}) (*User, error) `dubbo:"getUser"`
GetUser3 func() error
Echo func(ctx context.Context, req interface{}) (interface{}, error) // Echo represent EchoFilter will be used
}
diff --git a/rpc/dubbo/go-server/cmd/server.go b/rpc/dubbo/go-server/cmd/server.go
index fc74d81..4ec1bbb 100644
--- a/rpc/dubbo/go-server/cmd/server.go
+++ b/rpc/dubbo/go-server/cmd/server.go
@@ -26,17 +26,9 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
)
@@ -48,7 +40,7 @@ var (
survivalTimeout = int(3e9)
)
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
+// need to setup environment variable "DUBBO_GO_CONFIG_PATH" to "conf/dubbogo.yml" before run
func main() {
// ------for hessian2------
diff --git a/rpc/dubbo/go-server/conf/client.yml b/rpc/dubbo/go-server/conf/client.yml
deleted file mode 100644
index f8c56cb..0000000
--- a/rpc/dubbo/go-server/conf/client.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoTest"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/rpc/dubbo/go-server/conf/dubbogo.yml b/rpc/dubbo/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..622609d
--- /dev/null
+++ b/rpc/dubbo/go-server/conf/dubbogo.yml
@@ -0,0 +1,26 @@
+# dubbo server yaml configure file
+
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "dubbo":
+ name: "dubbo"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "UserProvider":
+ protocol: "dubbo"
+ interface: "org.apache.dubbo.UserProvider"
+ loadbalance: "random"
+ warmup: "100"
+ cluster: "failover"
+ methods:
+ - name: "GetUser"
+ retries: 1
+ loadbalance: "random"
diff --git a/rpc/dubbo/go-server/conf/server.yml b/rpc/dubbo/go-server/conf/server.yml
deleted file mode 100644
index af90434..0000000
--- a/rpc/dubbo/go-server/conf/server.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoServer"
- module: "dubbo-go user-info server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/rpc/dubbo/go-server/pkg/user_provider.go b/rpc/dubbo/go-server/pkg/user_provider.go
index 243ddd2..f65a581 100644
--- a/rpc/dubbo/go-server/pkg/user_provider.go
+++ b/rpc/dubbo/go-server/pkg/user_provider.go
@@ -49,7 +49,7 @@ func (u *UserProvider) getUser(userID string) (*User, error) {
return nil, fmt.Errorf("invalid user id:%s", userID)
}
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}, rsp *User) error {
+func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
var (
err error
user *User
@@ -58,10 +58,9 @@ func (u *UserProvider) GetUser(ctx context.Context, req []interface{}, rsp *User
gxlog.CInfo("req:%#v", req)
user, err = u.getUser(req[0].(string))
if err == nil {
- *rsp = *user
- gxlog.CInfo("rsp:%#v", rsp)
+ gxlog.CInfo("rsp:%#v", user)
}
- return err
+ return user, err
}
func (u *UserProvider) GetUser0(id string, name string) (User, error) {
@@ -78,20 +77,21 @@ func (u *UserProvider) GetUser0(id string, name string) (User, error) {
return *user, err
}
-func (u *UserProvider) GetUser2(ctx context.Context, req []interface{}, rsp *User) error {
+func (u *UserProvider) GetUser2(ctx context.Context, req []interface{}) (*User, error) {
var err error
gxlog.CInfo("req:%#v", req)
- rsp.ID = strconv.Itoa(int(req[0].(int32)))
- return err
+ user := &User{}
+ user.ID = strconv.Itoa(int(req[0].(int32)))
+ return user, err
}
func (u *UserProvider) GetUser3() error {
return nil
}
-func (u *UserProvider) GetErr(ctx context.Context, req []interface{}, rsp *User) error {
- return java_exception.NewThrowable("exception")
+func (u *UserProvider) GetErr(ctx context.Context, req []interface{}) (*User, error) {
+ return nil, java_exception.NewThrowable("exception")
}
func (u *UserProvider) GetUsers(req []interface{}) ([]interface{}, error) {
diff --git a/rpc/dubbo/java-client/2.6/run.sh b/rpc/dubbo/java-client/2.6/run.sh
new file mode 100644
index 0000000..df4e2f7
--- /dev/null
+++ b/rpc/dubbo/java-client/2.6/run.sh
@@ -0,0 +1,2 @@
+mvn install -DSkipTests
+mvn exec:java -Dexec.mainClass="org.apache.dubbo.Consumer"
\ No newline at end of file
diff --git a/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java b/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java
index 54e5b66..c339ad4 100644
--- a/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java
+++ b/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java
@@ -1,227 +1,227 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import com.alibaba.dubbo.rpc.service.EchoService;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-public class Consumer {
- // Define a private variable (Required in Spring)
- private static UserProvider userProvider;
- private static UserProvider userProvider1;
- private static UserProvider userProvider2;
-
- public static void main(String[] args) throws Exception {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/dubbo.consumer.xml"});
- userProvider = (UserProvider)context.getBean("userProvider");
- userProvider1 = (UserProvider)context.getBean("userProvider1");
- userProvider2 = (UserProvider)context.getBean("userProvider2");
-
- start();
- }
-
- // Start the entry function for consumer (Specified in the configuration file)
- public static void start() throws Exception {
- System.out.println("\n\ntest");
- testGetUser();
- testGetUsers();
- System.out.println("\n\ntest1");
- testGetUser1();
- testGetUsers1();
- System.out.println("\n\ntest2");
- testGetUser2();
- testGetUsers2();
- Thread.sleep(2000);
- }
-
- private static void testGetUser() throws Exception {
- try {
- EchoService echoService = (EchoService)userProvider;
- Object status = echoService.$echo("OK");
- System.out.println("echo: "+status);
- User user1 = userProvider.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
- User user2 = userProvider.GetUser0("A003","Moorse");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user2.getID() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
- + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
- User user3 = userProvider.getUser(1);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user3.getID() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
- + ", age:" + user3.getAge() + ", time:" + user3.getTime());
- User user4 = userProvider.getUser(1, "name");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user4.getID() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
- + ", age:" + user4.getAge() + ", time:" + user4.getTime());
- userProvider.GetUser3();
- System.out.println("GetUser3 succ");
-
- User user9 = userProvider.GetUser1("A003");
- } catch (Throwable e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- try {
- userProvider.GetErr("A003");
- } catch (Throwable t) {
- System.out.println("*************exception***********");
- t.printStackTrace();
- }
- }
-
- private static void testGetUsers() throws Exception {
- try {
- List<String> userIDList = new ArrayList<String>();
- userIDList.add("A001");
- userIDList.add("A002");
- userIDList.add("A003");
-
- List<User> userList = userProvider.GetUsers(userIDList);
-
- for (int i = 0; i < userList.size(); i++) {
- User user = userList.get(i);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user.getID() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
- + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static void testGetUser1() throws Exception {
- try {
- EchoService echoService = (EchoService)userProvider1;
- Object status = echoService.$echo("OK");
- System.out.println("echo: "+status);
- User user1 = userProvider1.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
- User user2 = userProvider1.GetUser0("A003","Moorse");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user2.getID() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
- + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
- User user3 = userProvider1.getUser(1);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user3.getID() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
- + ", age:" + user3.getAge() + ", time:" + user3.getTime());
- User user4 = userProvider1.getUser(1, "name");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user4.getID() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
- + ", age:" + user4.getAge() + ", time:" + user4.getTime());
- userProvider1.GetUser3();
- System.out.println("GetUser3 succ");
-
- User user9 = userProvider1.GetUser1("A003");
- } catch (Throwable e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- try {
- userProvider1.GetErr("A003");
- } catch (Throwable t) {
- System.out.println("*************exception***********");
- t.printStackTrace();
- }
- }
-
- private static void testGetUsers1() throws Exception {
- try {
- List<String> userIDList = new ArrayList<String>();
- userIDList.add("A001");
- userIDList.add("A002");
- userIDList.add("A003");
-
- List<User> userList = userProvider1.GetUsers(userIDList);
-
- for (int i = 0; i < userList.size(); i++) {
- User user = userList.get(i);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user.getID() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
- + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static void testGetUser2() throws Exception {
- try {
- EchoService echoService = (EchoService)userProvider2;
- Object status = echoService.$echo("OK");
- System.out.println("echo: "+status);
- User user1 = userProvider2.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
- User user2 = userProvider2.GetUser0("A003","Moorse");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user2.getID() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
- + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
- User user3 = userProvider2.getUser(1);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user3.getID() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
- + ", age:" + user3.getAge() + ", time:" + user3.getTime());
- User user4 = userProvider2.getUser(1, "name");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user4.getID() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
- + ", age:" + user4.getAge() + ", time:" + user4.getTime());
- userProvider2.GetUser3();
- System.out.println("GetUser3 succ");
-
- User user9 = userProvider2.GetUser1("A003");
- } catch (Throwable e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- try {
- userProvider2.GetErr("A003");
- } catch (Throwable t) {
- System.out.println("*************exception***********");
- t.printStackTrace();
- }
- }
-
- private static void testGetUsers2() throws Exception {
- try {
- List<String> userIDList = new ArrayList<String>();
- userIDList.add("A001");
- userIDList.add("A002");
- userIDList.add("A003");
-
- List<User> userList = userProvider2.GetUsers(userIDList);
-
- for (int i = 0; i < userList.size(); i++) {
- User user = userList.get(i);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user.getID() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
- + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import com.alibaba.dubbo.rpc.service.EchoService;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class Consumer {
+ // Define a private variable (Required in Spring)
+ private static UserProvider userProvider;
+ private static UserProvider userProvider1;
+ private static UserProvider userProvider2;
+
+ public static void main(String[] args) throws Exception {
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/dubbo.consumer.xml"});
+ userProvider = (UserProvider)context.getBean("userProvider");
+ userProvider1 = (UserProvider)context.getBean("userProvider1");
+ userProvider2 = (UserProvider)context.getBean("userProvider2");
+
+ start();
+ }
+
+ // Start the entry function for consumer (Specified in the configuration file)
+ public static void start() throws Exception {
+ System.out.println("\n\ntest");
+ testGetUser();
+ testGetUsers();
+ System.out.println("\n\ntest1");
+ testGetUser1();
+ testGetUsers1();
+ System.out.println("\n\ntest2");
+ testGetUser2();
+ testGetUsers2();
+ Thread.sleep(2000);
+ }
+
+ private static void testGetUser() throws Exception {
+ try {
+ EchoService echoService = (EchoService)userProvider;
+ Object status = echoService.$echo("OK");
+ System.out.println("echo: "+status);
+ User user1 = userProvider.GetUser("A003");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user1.getId() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
+ + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
+ User user2 = userProvider.GetUser0("A003","Moorse");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user2.getId() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
+ + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
+ User user3 = userProvider.getUser(1);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user3.getId() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
+ + ", age:" + user3.getAge() + ", time:" + user3.getTime());
+ User user4 = userProvider.getUser(1, "name");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user4.getId() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
+ + ", age:" + user4.getAge() + ", time:" + user4.getTime());
+ userProvider.GetUser3();
+ System.out.println("GetUser3 succ");
+
+ User user9 = userProvider.GetUser1("A003");
+ } catch (Throwable e) {
+ System.out.println("*************exception***********");
+ e.printStackTrace();
+ }
+ try {
+ userProvider.GetErr("A003");
+ } catch (Throwable t) {
+ System.out.println("*************exception***********");
+ t.printStackTrace();
+ }
+ }
+
+ private static void testGetUsers() throws Exception {
+ try {
+ List<String> userIDList = new ArrayList<String>();
+ userIDList.add("A001");
+ userIDList.add("A002");
+ userIDList.add("A003");
+
+ List<User> userList = userProvider.GetUsers(userIDList);
+
+ for (int i = 0; i < userList.size(); i++) {
+ User user = userList.get(i);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user.getId() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
+ + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void testGetUser1() throws Exception {
+ try {
+ EchoService echoService = (EchoService)userProvider1;
+ Object status = echoService.$echo("OK");
+ System.out.println("echo: "+status);
+ User user1 = userProvider1.GetUser("A003");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user1.getId() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
+ + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
+ User user2 = userProvider1.GetUser0("A003","Moorse");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user2.getId() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
+ + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
+ User user3 = userProvider1.getUser(1);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user3.getId() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
+ + ", age:" + user3.getAge() + ", time:" + user3.getTime());
+ User user4 = userProvider1.getUser(1, "name");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user4.getId() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
+ + ", age:" + user4.getAge() + ", time:" + user4.getTime());
+ userProvider1.GetUser3();
+ System.out.println("GetUser3 succ");
+
+ User user9 = userProvider1.GetUser1("A003");
+ } catch (Throwable e) {
+ System.out.println("*************exception***********");
+ e.printStackTrace();
+ }
+ try {
+ userProvider1.GetErr("A003");
+ } catch (Throwable t) {
+ System.out.println("*************exception***********");
+ t.printStackTrace();
+ }
+ }
+
+ private static void testGetUsers1() throws Exception {
+ try {
+ List<String> userIDList = new ArrayList<String>();
+ userIDList.add("A001");
+ userIDList.add("A002");
+ userIDList.add("A003");
+
+ List<User> userList = userProvider1.GetUsers(userIDList);
+
+ for (int i = 0; i < userList.size(); i++) {
+ User user = userList.get(i);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user.getId() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
+ + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void testGetUser2() throws Exception {
+ try {
+ EchoService echoService = (EchoService)userProvider2;
+ Object status = echoService.$echo("OK");
+ System.out.println("echo: "+status);
+ User user1 = userProvider2.GetUser("A003");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user1.getId() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
+ + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
+ User user2 = userProvider2.GetUser0("A003","Moorse");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user2.getId() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
+ + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
+ User user3 = userProvider2.getUser(1);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user3.getId() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
+ + ", age:" + user3.getAge() + ", time:" + user3.getTime());
+ User user4 = userProvider2.getUser(1, "name");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user4.getId() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
+ + ", age:" + user4.getAge() + ", time:" + user4.getTime());
+ userProvider2.GetUser3();
+ System.out.println("GetUser3 succ");
+
+ User user9 = userProvider2.GetUser1("A003");
+ } catch (Throwable e) {
+ System.out.println("*************exception***********");
+ e.printStackTrace();
+ }
+ try {
+ userProvider2.GetErr("A003");
+ } catch (Throwable t) {
+ System.out.println("*************exception***********");
+ t.printStackTrace();
+ }
+ }
+
+ private static void testGetUsers2() throws Exception {
+ try {
+ List<String> userIDList = new ArrayList<String>();
+ userIDList.add("A001");
+ userIDList.add("A002");
+ userIDList.add("A003");
+
+ List<User> userList = userProvider2.GetUsers(userIDList);
+
+ for (int i = 0; i < userList.size(); i++) {
+ User user = userList.get(i);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user.getId() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
+ + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/rpc/dubbo/java-client/2.7/run.sh b/rpc/dubbo/java-client/2.7/run.sh
new file mode 100644
index 0000000..df4e2f7
--- /dev/null
+++ b/rpc/dubbo/java-client/2.7/run.sh
@@ -0,0 +1,2 @@
+mvn install -DSkipTests
+mvn exec:java -Dexec.mainClass="org.apache.dubbo.Consumer"
\ No newline at end of file
diff --git a/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java b/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java
index 54e5b66..c339ad4 100644
--- a/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java
+++ b/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java
@@ -1,227 +1,227 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import com.alibaba.dubbo.rpc.service.EchoService;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-public class Consumer {
- // Define a private variable (Required in Spring)
- private static UserProvider userProvider;
- private static UserProvider userProvider1;
- private static UserProvider userProvider2;
-
- public static void main(String[] args) throws Exception {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/dubbo.consumer.xml"});
- userProvider = (UserProvider)context.getBean("userProvider");
- userProvider1 = (UserProvider)context.getBean("userProvider1");
- userProvider2 = (UserProvider)context.getBean("userProvider2");
-
- start();
- }
-
- // Start the entry function for consumer (Specified in the configuration file)
- public static void start() throws Exception {
- System.out.println("\n\ntest");
- testGetUser();
- testGetUsers();
- System.out.println("\n\ntest1");
- testGetUser1();
- testGetUsers1();
- System.out.println("\n\ntest2");
- testGetUser2();
- testGetUsers2();
- Thread.sleep(2000);
- }
-
- private static void testGetUser() throws Exception {
- try {
- EchoService echoService = (EchoService)userProvider;
- Object status = echoService.$echo("OK");
- System.out.println("echo: "+status);
- User user1 = userProvider.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
- User user2 = userProvider.GetUser0("A003","Moorse");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user2.getID() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
- + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
- User user3 = userProvider.getUser(1);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user3.getID() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
- + ", age:" + user3.getAge() + ", time:" + user3.getTime());
- User user4 = userProvider.getUser(1, "name");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user4.getID() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
- + ", age:" + user4.getAge() + ", time:" + user4.getTime());
- userProvider.GetUser3();
- System.out.println("GetUser3 succ");
-
- User user9 = userProvider.GetUser1("A003");
- } catch (Throwable e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- try {
- userProvider.GetErr("A003");
- } catch (Throwable t) {
- System.out.println("*************exception***********");
- t.printStackTrace();
- }
- }
-
- private static void testGetUsers() throws Exception {
- try {
- List<String> userIDList = new ArrayList<String>();
- userIDList.add("A001");
- userIDList.add("A002");
- userIDList.add("A003");
-
- List<User> userList = userProvider.GetUsers(userIDList);
-
- for (int i = 0; i < userList.size(); i++) {
- User user = userList.get(i);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user.getID() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
- + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static void testGetUser1() throws Exception {
- try {
- EchoService echoService = (EchoService)userProvider1;
- Object status = echoService.$echo("OK");
- System.out.println("echo: "+status);
- User user1 = userProvider1.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
- User user2 = userProvider1.GetUser0("A003","Moorse");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user2.getID() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
- + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
- User user3 = userProvider1.getUser(1);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user3.getID() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
- + ", age:" + user3.getAge() + ", time:" + user3.getTime());
- User user4 = userProvider1.getUser(1, "name");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user4.getID() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
- + ", age:" + user4.getAge() + ", time:" + user4.getTime());
- userProvider1.GetUser3();
- System.out.println("GetUser3 succ");
-
- User user9 = userProvider1.GetUser1("A003");
- } catch (Throwable e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- try {
- userProvider1.GetErr("A003");
- } catch (Throwable t) {
- System.out.println("*************exception***********");
- t.printStackTrace();
- }
- }
-
- private static void testGetUsers1() throws Exception {
- try {
- List<String> userIDList = new ArrayList<String>();
- userIDList.add("A001");
- userIDList.add("A002");
- userIDList.add("A003");
-
- List<User> userList = userProvider1.GetUsers(userIDList);
-
- for (int i = 0; i < userList.size(); i++) {
- User user = userList.get(i);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user.getID() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
- + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static void testGetUser2() throws Exception {
- try {
- EchoService echoService = (EchoService)userProvider2;
- Object status = echoService.$echo("OK");
- System.out.println("echo: "+status);
- User user1 = userProvider2.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
- User user2 = userProvider2.GetUser0("A003","Moorse");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user2.getID() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
- + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
- User user3 = userProvider2.getUser(1);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user3.getID() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
- + ", age:" + user3.getAge() + ", time:" + user3.getTime());
- User user4 = userProvider2.getUser(1, "name");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user4.getID() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
- + ", age:" + user4.getAge() + ", time:" + user4.getTime());
- userProvider2.GetUser3();
- System.out.println("GetUser3 succ");
-
- User user9 = userProvider2.GetUser1("A003");
- } catch (Throwable e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- try {
- userProvider2.GetErr("A003");
- } catch (Throwable t) {
- System.out.println("*************exception***********");
- t.printStackTrace();
- }
- }
-
- private static void testGetUsers2() throws Exception {
- try {
- List<String> userIDList = new ArrayList<String>();
- userIDList.add("A001");
- userIDList.add("A002");
- userIDList.add("A003");
-
- List<User> userList = userProvider2.GetUsers(userIDList);
-
- for (int i = 0; i < userList.size(); i++) {
- User user = userList.get(i);
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user.getID() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
- + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import com.alibaba.dubbo.rpc.service.EchoService;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class Consumer {
+ // Define a private variable (Required in Spring)
+ private static UserProvider userProvider;
+ private static UserProvider userProvider1;
+ private static UserProvider userProvider2;
+
+ public static void main(String[] args) throws Exception {
+ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/dubbo.consumer.xml"});
+ userProvider = (UserProvider)context.getBean("userProvider");
+ userProvider1 = (UserProvider)context.getBean("userProvider1");
+ userProvider2 = (UserProvider)context.getBean("userProvider2");
+
+ start();
+ }
+
+ // Start the entry function for consumer (Specified in the configuration file)
+ public static void start() throws Exception {
+ System.out.println("\n\ntest");
+ testGetUser();
+ testGetUsers();
+ System.out.println("\n\ntest1");
+ testGetUser1();
+ testGetUsers1();
+ System.out.println("\n\ntest2");
+ testGetUser2();
+ testGetUsers2();
+ Thread.sleep(2000);
+ }
+
+ private static void testGetUser() throws Exception {
+ try {
+ EchoService echoService = (EchoService)userProvider;
+ Object status = echoService.$echo("OK");
+ System.out.println("echo: "+status);
+ User user1 = userProvider.GetUser("A003");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user1.getId() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
+ + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
+ User user2 = userProvider.GetUser0("A003","Moorse");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user2.getId() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
+ + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
+ User user3 = userProvider.getUser(1);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user3.getId() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
+ + ", age:" + user3.getAge() + ", time:" + user3.getTime());
+ User user4 = userProvider.getUser(1, "name");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user4.getId() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
+ + ", age:" + user4.getAge() + ", time:" + user4.getTime());
+ userProvider.GetUser3();
+ System.out.println("GetUser3 succ");
+
+ User user9 = userProvider.GetUser1("A003");
+ } catch (Throwable e) {
+ System.out.println("*************exception***********");
+ e.printStackTrace();
+ }
+ try {
+ userProvider.GetErr("A003");
+ } catch (Throwable t) {
+ System.out.println("*************exception***********");
+ t.printStackTrace();
+ }
+ }
+
+ private static void testGetUsers() throws Exception {
+ try {
+ List<String> userIDList = new ArrayList<String>();
+ userIDList.add("A001");
+ userIDList.add("A002");
+ userIDList.add("A003");
+
+ List<User> userList = userProvider.GetUsers(userIDList);
+
+ for (int i = 0; i < userList.size(); i++) {
+ User user = userList.get(i);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user.getId() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
+ + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void testGetUser1() throws Exception {
+ try {
+ EchoService echoService = (EchoService)userProvider1;
+ Object status = echoService.$echo("OK");
+ System.out.println("echo: "+status);
+ User user1 = userProvider1.GetUser("A003");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user1.getId() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
+ + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
+ User user2 = userProvider1.GetUser0("A003","Moorse");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user2.getId() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
+ + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
+ User user3 = userProvider1.getUser(1);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user3.getId() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
+ + ", age:" + user3.getAge() + ", time:" + user3.getTime());
+ User user4 = userProvider1.getUser(1, "name");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user4.getId() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
+ + ", age:" + user4.getAge() + ", time:" + user4.getTime());
+ userProvider1.GetUser3();
+ System.out.println("GetUser3 succ");
+
+ User user9 = userProvider1.GetUser1("A003");
+ } catch (Throwable e) {
+ System.out.println("*************exception***********");
+ e.printStackTrace();
+ }
+ try {
+ userProvider1.GetErr("A003");
+ } catch (Throwable t) {
+ System.out.println("*************exception***********");
+ t.printStackTrace();
+ }
+ }
+
+ private static void testGetUsers1() throws Exception {
+ try {
+ List<String> userIDList = new ArrayList<String>();
+ userIDList.add("A001");
+ userIDList.add("A002");
+ userIDList.add("A003");
+
+ List<User> userList = userProvider1.GetUsers(userIDList);
+
+ for (int i = 0; i < userList.size(); i++) {
+ User user = userList.get(i);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user.getId() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
+ + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private static void testGetUser2() throws Exception {
+ try {
+ EchoService echoService = (EchoService)userProvider2;
+ Object status = echoService.$echo("OK");
+ System.out.println("echo: "+status);
+ User user1 = userProvider2.GetUser("A003");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user1.getId() + ", name:" + user1.getName() + ", sex:" + user1.getSex().toString()
+ + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
+ User user2 = userProvider2.GetUser0("A003","Moorse");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user2.getId() + ", name:" + user2.getName() + ", sex:" + user2.getSex().toString()
+ + ", age:" + user2.getAge() + ", time:" + user2.getTime().toString());
+ User user3 = userProvider2.getUser(1);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user3.getId() + ", name:" + user3.getName() + ", sex:" + user3.getSex().toString()
+ + ", age:" + user3.getAge() + ", time:" + user3.getTime());
+ User user4 = userProvider2.getUser(1, "name");
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user4.getId() + ", name:" + user4.getName() + ", sex:" + user4.getSex().toString()
+ + ", age:" + user4.getAge() + ", time:" + user4.getTime());
+ userProvider2.GetUser3();
+ System.out.println("GetUser3 succ");
+
+ User user9 = userProvider2.GetUser1("A003");
+ } catch (Throwable e) {
+ System.out.println("*************exception***********");
+ e.printStackTrace();
+ }
+ try {
+ userProvider2.GetErr("A003");
+ } catch (Throwable t) {
+ System.out.println("*************exception***********");
+ t.printStackTrace();
+ }
+ }
+
+ private static void testGetUsers2() throws Exception {
+ try {
+ List<String> userIDList = new ArrayList<String>();
+ userIDList.add("A001");
+ userIDList.add("A002");
+ userIDList.add("A003");
+
+ List<User> userList = userProvider2.GetUsers(userIDList);
+
+ for (int i = 0; i < userList.size(); i++) {
+ User user = userList.get(i);
+ System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
+ " UserInfo, ID:" + user.getId() + ", name:" + user.getName() + ", sex:" + user.getSex().toString()
+ + ", age:" + user.getAge() + ", time:" + user.getTime().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/rpc/dubbo/java-server/2.6/run.sh b/rpc/dubbo/java-server/2.6/run.sh
new file mode 100644
index 0000000..9416b14
--- /dev/null
+++ b/rpc/dubbo/java-server/2.6/run.sh
@@ -0,0 +1,2 @@
+mvn install -DSkipTests
+mvn exec:java -Dexec.mainClass="java.org.apache.dubbo.Provider"
\ No newline at end of file
diff --git a/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java
index 1c13f05..0e62224 100644
--- a/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java
+++ b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java
@@ -1,50 +1,52 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import java.util.List;
-import java.util.Map;
-
-public interface UserProvider {
-
- boolean isLimit(Gender gender, String name);
-
- User GetUser(String userId); // the first alpha is Upper case to compatible with golang.
-
- List<User> GetUsers(List<String> userIdList);
-
- void GetUser3();
-
- User GetUser0(String userId, String name);
-
- User GetErr(String userId) throws Exception;
-
- Map<String, User> GetUserMap(List<String> userIdList);
-
- User getUser(int usercode);
-
- User getUser(int usercode, String name);
-
- User queryUser(User user);
-
- Map<String, User> queryAll();
-
- int Calc(int a, int b);
-
- Response<Integer> Sum(int a, int b);
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import java.util.List;
+import java.util.Map;
+
+public interface UserProvider {
+
+ boolean isLimit(Gender gender, String name);
+
+ User GetUser(String userId); // the first alpha is Upper case to compatible with golang.
+
+ List<User> GetUsers(List<String> userIdList);
+
+ Integer GetGender(Integer gender);
+
+ void GetUser3();
+
+ User GetUser0(String userId, String name);
+
+ User GetErr(String userId) throws Exception;
+
+ Map<String, User> GetUserMap(List<String> userIdList);
+
+ User getUser(int usercode);
+
+ User getUser(int usercode, String name);
+
+ User queryUser(User user);
+
+ Map<String, User> queryAll();
+
+ int Calc(int a, int b);
+
+ Response<Integer> Sum(int a, int b);
+}
diff --git a/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
index cc6170e..9d41811 100644
--- a/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
+++ b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
@@ -1,143 +1,147 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-
-public class UserProviderAnotherImpl implements UserProvider {
- // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
- private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to com.dubbogo.user-server.log
-
- private Map<String, User> userMap = new HashMap<String, User>();
-
- public UserProviderAnotherImpl() {
- // userMap.put("001", new User("001", "other-zhangsan", 18, new Date(1998-1900, 1, 2, 3, 4, 5), Gender.MAN));
- userMap.put("001", new User("001", "other-zhangsan", 18, new Date(0x12345678), Gender.MAN));
- userMap.put("002", new User("002", "other-lisi", 20, new Date(1996-1900, 1, 2, 3, 4, 5), Gender.MAN));
- userMap.put("003", new User("003", "other-lily", 23, new Date(1993-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
- userMap.put("004", new User("004", "other-lisa", 32, new Date(1985-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
- }
-
- public boolean isLimit(Gender gender, String name) {
- logger.info(String.format("input gender=%sand name=%s", gender, name));
- return Gender.MAN == gender;
- }
-
- public User GetUser(String userId) {
- logger.info("input userId = " + userId);
- return new User(userId, "Joe", 48);
- }
-
- public User GetUser0(String userId, String name) {
- return new User(userId, name, 48);
- }
-
- public void GetUser3() {
- logger.info("this is GetUser3 of another");
- }
-
- public User GetErr(String userId) throws Exception {
- throw new Exception("exception");
- }
-
- public List<User> GetUsers(ArrayList<String> userIdList) {
- Iterator it = userIdList.iterator();
- List<User> userList = new ArrayList<User>();
- logger.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- logger.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- userList.add(userMap.get(id));
- logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return userList;
- }
-
- public Map<String, User> GetUserMap(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- Map<String, User> map = new HashMap<String, User>();
- logger.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- logger.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- map.put(id, userMap.get(id));
- logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return map;
- }
-
- public List<User> GetUsers(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- List<User> userList = new ArrayList<User>();
- logger.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- logger.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- userList.add(userMap.get(id));
- logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return userList;
- }
-
- // @Override
- public User getUser(int userCode) {
- logger.info("input userCode = " + userCode);
- return new User(String.valueOf(userCode), "userCode get", 48);
- }
-
- public User getUser(int usercode, String name) {
- return new User(String.valueOf(usercode), name, 18);
- }
-
- public User queryUser(User user) {
- logger.info("input com.dubbogo.user = " + user);
- return new User(user.getId(), "get:" + user.getName(), user.getAge() + 18);
- }
-
- public Map<String, User> queryAll() {
- logger.info("input");
- Map<String, User> map = new HashMap<String, User>();
- map.put("001", new User("001", "Joe", 18));
- map.put("002", new User("002", "Wen", 20));
-
- return map;
- }
-
- public int Calc(int a,int b) {
- return a + b + 100;
- }
-
- public Response<Integer> Sum(int a,int b) {
- return Response.ok(a+b);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+public class UserProviderAnotherImpl implements UserProvider {
+ // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+ private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to com.dubbogo.user-server.log
+
+ private Map<String, User> userMap = new HashMap<String, User>();
+
+ public UserProviderAnotherImpl() {
+ // userMap.put("001", new User("001", "other-zhangsan", 18, new Date(1998-1900, 1, 2, 3, 4, 5), Gender.MAN));
+ userMap.put("001", new User("001", "other-zhangsan", 18, new Date(0x12345678), Gender.MAN));
+ userMap.put("002", new User("002", "other-lisi", 20, new Date(1996-1900, 1, 2, 3, 4, 5), Gender.MAN));
+ userMap.put("003", new User("003", "other-lily", 23, new Date(1993-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
+ userMap.put("004", new User("004", "other-lisa", 32, new Date(1985-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
+ }
+
+ public boolean isLimit(Gender gender, String name) {
+ logger.info(String.format("input gender=%sand name=%s", gender, name));
+ return Gender.MAN == gender;
+ }
+
+ public User GetUser(String userId) {
+ logger.info("input userId = " + userId);
+ return new User(userId, "Joe", 48);
+ }
+
+ public User GetUser0(String userId, String name) {
+ return new User(userId, name, 48);
+ }
+
+ public void GetUser3() {
+ logger.info("this is GetUser3 of another");
+ }
+
+ public User GetErr(String userId) throws Exception {
+ throw new Exception("exception");
+ }
+
+ public List<User> GetUsers(ArrayList<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ List<User> userList = new ArrayList<User>();
+ logger.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ logger.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ userList.add(userMap.get(id));
+ logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return userList;
+ }
+
+ public Map<String, User> GetUserMap(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ Map<String, User> map = new HashMap<String, User>();
+ logger.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ logger.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ map.put(id, userMap.get(id));
+ logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return map;
+ }
+
+ public List<User> GetUsers(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ List<User> userList = new ArrayList<User>();
+ logger.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ logger.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ userList.add(userMap.get(id));
+ logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return userList;
+ }
+
+ public Integer GetGender(Integer gender) {
+ return gender != null && gender == 1 ? 1 : 0;
+ }
+
+ // @Override
+ public User getUser(int userCode) {
+ logger.info("input userCode = " + userCode);
+ return new User(String.valueOf(userCode), "userCode get", 48);
+ }
+
+ public User getUser(int usercode, String name) {
+ return new User(String.valueOf(usercode), name, 18);
+ }
+
+ public User queryUser(User user) {
+ logger.info("input com.dubbogo.user = " + user);
+ return new User(user.getId(), "get:" + user.getName(), user.getAge() + 18);
+ }
+
+ public Map<String, User> queryAll() {
+ logger.info("input");
+ Map<String, User> map = new HashMap<String, User>();
+ map.put("001", new User("001", "Joe", 18));
+ map.put("002", new User("002", "Wen", 20));
+
+ return map;
+ }
+
+ public int Calc(int a,int b) {
+ return a + b + 100;
+ }
+
+ public Response<Integer> Sum(int a,int b) {
+ return Response.ok(a+b);
+ }
+}
diff --git a/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java
index bdb9651..73747eb 100644
--- a/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java
+++ b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java
@@ -1,115 +1,119 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-
-public class UserProviderImpl implements UserProvider {
- // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
- private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to com.dubbogo.user-server.log
- Map<String, User> userMap = new HashMap<String, User>();
-
- public UserProviderImpl() {
- userMap.put("A001", new User("A001", "demo-zhangsan", 18));
- userMap.put("A002", new User("A002", "demo-lisi", 20));
- userMap.put("A003", new User("A003", "demo-lily", 23));
- userMap.put("A004", new User("A004", "demo-lisa", 32));
- }
-
- public boolean isLimit(Gender gender, String name) {
- return Gender.WOMAN == gender;
- }
-
- public User GetUser(String userId) {
- return new User(userId, "zhangsan", 18);
- }
-
- public User GetErr(String userId) throws Exception {
- throw new Exception("exception");
- }
-
- public User GetUser0(String userId, String name) {
- return new User(userId, name, 18);
- }
-
- public List<User> GetUsers(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- List<User> userList = new ArrayList<User>();
- LOG.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- LOG.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- userList.add(userMap.get(id));
- LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return userList;
- }
-
- public void GetUser3() {
- LOG.info("this is GetUser3 of impl");
- }
-
- public Map<String, User> GetUserMap(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- Map<String, User> map = new HashMap<String, User>();
- LOG.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- LOG.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- map.put(id, userMap.get(id));
- LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return map;
- }
-
- public User queryUser(User user) {
- return new User(user.getId(), "hello:" +user.getName(), user.getAge() + 18);
- }
-
- public Map<String, User> queryAll() {
- return userMap;
- }
-
-
- public User getUser(int userCode) {
- return new User(String.valueOf(userCode), "userCode get", 48);
- }
-
- public User getUser(int usercode, String name) {
- return new User(String.valueOf(usercode), name, 38);
- }
-
- public int Calc(int a,int b) {
- return a + b;
- }
-
- public Response<Integer> Sum(int a,int b) {
- return Response.ok(a+b);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+public class UserProviderImpl implements UserProvider {
+ // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+ private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to com.dubbogo.user-server.log
+ Map<String, User> userMap = new HashMap<String, User>();
+
+ public UserProviderImpl() {
+ userMap.put("A001", new User("A001", "demo-zhangsan", 18));
+ userMap.put("A002", new User("A002", "demo-lisi", 20));
+ userMap.put("A003", new User("A003", "demo-lily", 23));
+ userMap.put("A004", new User("A004", "demo-lisa", 32));
+ }
+
+ public boolean isLimit(Gender gender, String name) {
+ return Gender.WOMAN == gender;
+ }
+
+ public User GetUser(String userId) {
+ return new User(userId, "zhangsan", 18);
+ }
+
+ public User GetErr(String userId) throws Exception {
+ throw new Exception("exception");
+ }
+
+ public User GetUser0(String userId, String name) {
+ return new User(userId, name, 18);
+ }
+
+ public List<User> GetUsers(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ List<User> userList = new ArrayList<User>();
+ LOG.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ LOG.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ userList.add(userMap.get(id));
+ LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return userList;
+ }
+
+ public Integer GetGender(Integer gender) {
+ return gender != null && gender == 1 ? 1 : 0;
+ }
+
+ public void GetUser3() {
+ LOG.info("this is GetUser3 of impl");
+ }
+
+ public Map<String, User> GetUserMap(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ Map<String, User> map = new HashMap<String, User>();
+ LOG.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ LOG.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ map.put(id, userMap.get(id));
+ LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return map;
+ }
+
+ public User queryUser(User user) {
+ return new User(user.getId(), "hello:" +user.getName(), user.getAge() + 18);
+ }
+
+ public Map<String, User> queryAll() {
+ return userMap;
+ }
+
+
+ public User getUser(int userCode) {
+ return new User(String.valueOf(userCode), "userCode get", 48);
+ }
+
+ public User getUser(int usercode, String name) {
+ return new User(String.valueOf(usercode), name, 38);
+ }
+
+ public int Calc(int a,int b) {
+ return a + b;
+ }
+
+ public Response<Integer> Sum(int a,int b) {
+ return Response.ok(a+b);
+ }
+}
diff --git a/rpc/dubbo/java-server/2.7/run.sh b/rpc/dubbo/java-server/2.7/run.sh
new file mode 100644
index 0000000..9416b14
--- /dev/null
+++ b/rpc/dubbo/java-server/2.7/run.sh
@@ -0,0 +1,2 @@
+mvn install -DSkipTests
+mvn exec:java -Dexec.mainClass="java.org.apache.dubbo.Provider"
\ No newline at end of file
diff --git a/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java
index 1c13f05..d6f7268 100644
--- a/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java
+++ b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java
@@ -1,50 +1,52 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import java.util.List;
-import java.util.Map;
-
-public interface UserProvider {
-
- boolean isLimit(Gender gender, String name);
-
- User GetUser(String userId); // the first alpha is Upper case to compatible with golang.
-
- List<User> GetUsers(List<String> userIdList);
-
- void GetUser3();
-
- User GetUser0(String userId, String name);
-
- User GetErr(String userId) throws Exception;
-
- Map<String, User> GetUserMap(List<String> userIdList);
-
- User getUser(int usercode);
-
- User getUser(int usercode, String name);
-
- User queryUser(User user);
-
- Map<String, User> queryAll();
-
- int Calc(int a, int b);
-
- Response<Integer> Sum(int a, int b);
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import java.util.List;
+import java.util.Map;
+
+public interface UserProvider {
+
+ boolean isLimit(Gender gender, String name);
+
+ User GetUser(String userId); // the first alpha is Upper case to compatible with golang.
+
+ List<User> GetUsers(List<String> userIdList);
+
+ void GetUser3();
+
+ User GetUser0(String userId, String name);
+
+ User GetErr(String userId) throws Exception;
+
+ Map<String, User> GetUserMap(List<String> userIdList);
+
+ User getUser(int usercode);
+
+ User getUser(int usercode, String name);
+
+ Integer GetGender(Integer gender);
+
+ User queryUser(User user);
+
+ Map<String, User> queryAll();
+
+ int Calc(int a, int b);
+
+ Response<Integer> Sum(int a, int b);
+}
diff --git a/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
index cc6170e..3c84a9f 100644
--- a/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
+++ b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
@@ -1,143 +1,147 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-
-public class UserProviderAnotherImpl implements UserProvider {
- // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
- private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to com.dubbogo.user-server.log
-
- private Map<String, User> userMap = new HashMap<String, User>();
-
- public UserProviderAnotherImpl() {
- // userMap.put("001", new User("001", "other-zhangsan", 18, new Date(1998-1900, 1, 2, 3, 4, 5), Gender.MAN));
- userMap.put("001", new User("001", "other-zhangsan", 18, new Date(0x12345678), Gender.MAN));
- userMap.put("002", new User("002", "other-lisi", 20, new Date(1996-1900, 1, 2, 3, 4, 5), Gender.MAN));
- userMap.put("003", new User("003", "other-lily", 23, new Date(1993-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
- userMap.put("004", new User("004", "other-lisa", 32, new Date(1985-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
- }
-
- public boolean isLimit(Gender gender, String name) {
- logger.info(String.format("input gender=%sand name=%s", gender, name));
- return Gender.MAN == gender;
- }
-
- public User GetUser(String userId) {
- logger.info("input userId = " + userId);
- return new User(userId, "Joe", 48);
- }
-
- public User GetUser0(String userId, String name) {
- return new User(userId, name, 48);
- }
-
- public void GetUser3() {
- logger.info("this is GetUser3 of another");
- }
-
- public User GetErr(String userId) throws Exception {
- throw new Exception("exception");
- }
-
- public List<User> GetUsers(ArrayList<String> userIdList) {
- Iterator it = userIdList.iterator();
- List<User> userList = new ArrayList<User>();
- logger.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- logger.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- userList.add(userMap.get(id));
- logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return userList;
- }
-
- public Map<String, User> GetUserMap(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- Map<String, User> map = new HashMap<String, User>();
- logger.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- logger.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- map.put(id, userMap.get(id));
- logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return map;
- }
-
- public List<User> GetUsers(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- List<User> userList = new ArrayList<User>();
- logger.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- logger.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- userList.add(userMap.get(id));
- logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return userList;
- }
-
- // @Override
- public User getUser(int userCode) {
- logger.info("input userCode = " + userCode);
- return new User(String.valueOf(userCode), "userCode get", 48);
- }
-
- public User getUser(int usercode, String name) {
- return new User(String.valueOf(usercode), name, 18);
- }
-
- public User queryUser(User user) {
- logger.info("input com.dubbogo.user = " + user);
- return new User(user.getId(), "get:" + user.getName(), user.getAge() + 18);
- }
-
- public Map<String, User> queryAll() {
- logger.info("input");
- Map<String, User> map = new HashMap<String, User>();
- map.put("001", new User("001", "Joe", 18));
- map.put("002", new User("002", "Wen", 20));
-
- return map;
- }
-
- public int Calc(int a,int b) {
- return a + b + 100;
- }
-
- public Response<Integer> Sum(int a,int b) {
- return Response.ok(a+b);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+public class UserProviderAnotherImpl implements UserProvider {
+ // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+ private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to com.dubbogo.user-server.log
+
+ private Map<String, User> userMap = new HashMap<String, User>();
+
+ public UserProviderAnotherImpl() {
+ // userMap.put("001", new User("001", "other-zhangsan", 18, new Date(1998-1900, 1, 2, 3, 4, 5), Gender.MAN));
+ userMap.put("001", new User("001", "other-zhangsan", 18, new Date(0x12345678), Gender.MAN));
+ userMap.put("002", new User("002", "other-lisi", 20, new Date(1996-1900, 1, 2, 3, 4, 5), Gender.MAN));
+ userMap.put("003", new User("003", "other-lily", 23, new Date(1993-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
+ userMap.put("004", new User("004", "other-lisa", 32, new Date(1985-1900, 1, 2, 3, 4, 5), Gender.WOMAN));
+ }
+
+ public boolean isLimit(Gender gender, String name) {
+ logger.info(String.format("input gender=%sand name=%s", gender, name));
+ return Gender.MAN == gender;
+ }
+
+ public User GetUser(String userId) {
+ logger.info("input userId = " + userId);
+ return new User(userId, "Joe", 48);
+ }
+
+ public User GetUser0(String userId, String name) {
+ return new User(userId, name, 48);
+ }
+
+ public void GetUser3() {
+ logger.info("this is GetUser3 of another");
+ }
+
+ public User GetErr(String userId) throws Exception {
+ throw new Exception("exception");
+ }
+
+ public List<User> GetUsers(ArrayList<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ List<User> userList = new ArrayList<User>();
+ logger.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ logger.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ userList.add(userMap.get(id));
+ logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return userList;
+ }
+
+ public Map<String, User> GetUserMap(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ Map<String, User> map = new HashMap<String, User>();
+ logger.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ logger.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ map.put(id, userMap.get(id));
+ logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return map;
+ }
+
+ public List<User> GetUsers(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ List<User> userList = new ArrayList<User>();
+ logger.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ logger.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ userList.add(userMap.get(id));
+ logger.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return userList;
+ }
+
+ // @Override
+ public User getUser(int userCode) {
+ logger.info("input userCode = " + userCode);
+ return new User(String.valueOf(userCode), "userCode get", 48);
+ }
+
+ public User getUser(int usercode, String name) {
+ return new User(String.valueOf(usercode), name, 18);
+ }
+
+ public User queryUser(User user) {
+ logger.info("input com.dubbogo.user = " + user);
+ return new User(user.getId(), "get:" + user.getName(), user.getAge() + 18);
+ }
+
+ public Map<String, User> queryAll() {
+ logger.info("input");
+ Map<String, User> map = new HashMap<String, User>();
+ map.put("001", new User("001", "Joe", 18));
+ map.put("002", new User("002", "Wen", 20));
+
+ return map;
+ }
+
+ public int Calc(int a,int b) {
+ return a + b + 100;
+ }
+
+ public Response<Integer> Sum(int a,int b) {
+ return Response.ok(a+b);
+ }
+
+ public Integer GetGender(Integer gender) {
+ return gender != null && gender == 1 ? 1 : 0;
+ }
+}
diff --git a/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java
index bdb9651..b711ae9 100644
--- a/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java
+++ b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java
@@ -1,115 +1,119 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.*;
-
-public class UserProviderImpl implements UserProvider {
- // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
- private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to com.dubbogo.user-server.log
- Map<String, User> userMap = new HashMap<String, User>();
-
- public UserProviderImpl() {
- userMap.put("A001", new User("A001", "demo-zhangsan", 18));
- userMap.put("A002", new User("A002", "demo-lisi", 20));
- userMap.put("A003", new User("A003", "demo-lily", 23));
- userMap.put("A004", new User("A004", "demo-lisa", 32));
- }
-
- public boolean isLimit(Gender gender, String name) {
- return Gender.WOMAN == gender;
- }
-
- public User GetUser(String userId) {
- return new User(userId, "zhangsan", 18);
- }
-
- public User GetErr(String userId) throws Exception {
- throw new Exception("exception");
- }
-
- public User GetUser0(String userId, String name) {
- return new User(userId, name, 18);
- }
-
- public List<User> GetUsers(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- List<User> userList = new ArrayList<User>();
- LOG.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- LOG.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- userList.add(userMap.get(id));
- LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return userList;
- }
-
- public void GetUser3() {
- LOG.info("this is GetUser3 of impl");
- }
-
- public Map<String, User> GetUserMap(List<String> userIdList) {
- Iterator it = userIdList.iterator();
- Map<String, User> map = new HashMap<String, User>();
- LOG.warn("@userIdList size:" + userIdList.size());
-
- while(it.hasNext()) {
- String id = (String)(it.next());
- LOG.info("GetUsers(@uid:" + id + ")");
- if (userMap.containsKey(id)) {
- map.put(id, userMap.get(id));
- LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
- }
- }
-
- return map;
- }
-
- public User queryUser(User user) {
- return new User(user.getId(), "hello:" +user.getName(), user.getAge() + 18);
- }
-
- public Map<String, User> queryAll() {
- return userMap;
- }
-
-
- public User getUser(int userCode) {
- return new User(String.valueOf(userCode), "userCode get", 48);
- }
-
- public User getUser(int usercode, String name) {
- return new User(String.valueOf(usercode), name, 38);
- }
-
- public int Calc(int a,int b) {
- return a + b;
- }
-
- public Response<Integer> Sum(int a,int b) {
- return Response.ok(a+b);
- }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dubbo;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+public class UserProviderImpl implements UserProvider {
+ // private static final Logger logger = LoggerFactory.getLogger(getClass()); // Only output to dubbo's log(logs/server.log)
+ private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // Output to com.dubbogo.user-server.log
+ Map<String, User> userMap = new HashMap<String, User>();
+
+ public UserProviderImpl() {
+ userMap.put("A001", new User("A001", "demo-zhangsan", 18));
+ userMap.put("A002", new User("A002", "demo-lisi", 20));
+ userMap.put("A003", new User("A003", "demo-lily", 23));
+ userMap.put("A004", new User("A004", "demo-lisa", 32));
+ }
+
+ public boolean isLimit(Gender gender, String name) {
+ return Gender.WOMAN == gender;
+ }
+
+ public User GetUser(String userId) {
+ return new User(userId, "zhangsan", 18);
+ }
+
+ public User GetErr(String userId) throws Exception {
+ throw new Exception("exception");
+ }
+
+ public User GetUser0(String userId, String name) {
+ return new User(userId, name, 18);
+ }
+
+ public List<User> GetUsers(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ List<User> userList = new ArrayList<User>();
+ LOG.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ LOG.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ userList.add(userMap.get(id));
+ LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return userList;
+ }
+
+ public void GetUser3() {
+ LOG.info("this is GetUser3 of impl");
+ }
+
+ public Map<String, User> GetUserMap(List<String> userIdList) {
+ Iterator it = userIdList.iterator();
+ Map<String, User> map = new HashMap<String, User>();
+ LOG.warn("@userIdList size:" + userIdList.size());
+
+ while(it.hasNext()) {
+ String id = (String)(it.next());
+ LOG.info("GetUsers(@uid:" + id + ")");
+ if (userMap.containsKey(id)) {
+ map.put(id, userMap.get(id));
+ LOG.info("id:" + id + ", com.dubbogo.user:" + userMap.get(id));
+ }
+ }
+
+ return map;
+ }
+
+ public User queryUser(User user) {
+ return new User(user.getId(), "hello:" +user.getName(), user.getAge() + 18);
+ }
+
+ public Map<String, User> queryAll() {
+ return userMap;
+ }
+
+
+ public User getUser(int userCode) {
+ return new User(String.valueOf(userCode), "userCode get", 48);
+ }
+
+ public User getUser(int usercode, String name) {
+ return new User(String.valueOf(usercode), name, 38);
+ }
+
+ public int Calc(int a,int b) {
+ return a + b;
+ }
+
+ public Response<Integer> Sum(int a,int b) {
+ return Response.ok(a+b);
+ }
+
+ public Integer GetGender(Integer gender) {
+ return gender != null && gender == 1 ? 1 : 0;
+ }
+}
[dubbo-go-samples] 09/14: Add apollo config center sample (#208)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit a2409c2c1d67e3375d0125668a9b6b42386eee8b
Author: Baster <ja...@gmail.com>
AuthorDate: Sat Aug 28 09:07:12 2021 +0800
Add apollo config center sample (#208)
* add apollo config center sample
* add apollo config center example
* update config
* delete debug file
* add initSignal func for apollo sample
* update apollo run xml
* update apollo sample reademe md
* add apollo test interation
* update go mod
Co-authored-by: zengfanwei <ze...@yalla.live>
---
.../configcenter-apollo-client.run.xml | 27 +++++----
.../configcenter-apollo-server.run.xml | 27 +++++----
.run/configcenter/configcenter-apollo-test.run.xml | 9 ++-
.run/helloworld-go-server.run.xml | 14 -----
configcenter/apollo/README.md | 64 +++++++++++++++++++++
configcenter/apollo/README_zh.md | 60 ++++++++++++++++++++
configcenter/apollo/go-client/cmd/client.go | 41 +++++---------
configcenter/apollo/go-client/conf/client.yml | 66 ----------------------
configcenter/apollo/go-client/conf/dubbogo.yml | 7 +++
configcenter/apollo/go-client/conf/log.yml | 28 ---------
configcenter/apollo/go-client/pkg/user.go | 42 --------------
configcenter/apollo/go-server/cmd/server.go | 33 ++++++-----
configcenter/apollo/go-server/conf/client.yml | 66 ----------------------
configcenter/apollo/go-server/conf/dubbogo.yml | 7 +++
configcenter/apollo/go-server/conf/log.yml | 28 ---------
configcenter/apollo/go-server/conf/server.yml | 62 --------------------
configcenter/apollo/go-server/pkg/user.go | 62 --------------------
go.mod | 4 +-
.../configcenter/apollo}/docker/docker-compose.yml | 0
.../apollo}/docker/docker-health-check.sh | 0
.../apollo}/docker/sql/apolloconfigdb.sql | 0
.../apollo}/docker/sql/apolloportaldb.sql | 0
.../tests/integration/greeterProvider_test.go | 26 ++++++---
.../apollo}/tests/integration/main_test.go | 30 ++--------
.../tests/integration/userprovider_test.go | 33 +++++------
25 files changed, 242 insertions(+), 494 deletions(-)
diff --git a/.run/configcenter/configcenter-apollo-client.run.xml b/.run/configcenter/configcenter-apollo-client.run.xml
index 769b395..f6fdc16 100644
--- a/.run/configcenter/configcenter-apollo-client.run.xml
+++ b/.run/configcenter/configcenter-apollo-client.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="configcenter-apollo-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/configcenter/apollo/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/configcenter/apollo/go-client/conf/client.yml" />
- </envs>
- <kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/configcenter/apollo/go-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/configcenter/apollo/go-client/cmd" />
- <directory value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
+ <configuration default="false" name="configcenter-apollo-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-configcenter" singleton="true">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$/configcenter/apollo/go-client" />
+ <envs>
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/configcenter/apollo/go-client/conf/dubbogo.yml" />
+ </envs>
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/configcenter/apollo/go-client/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/configcenter/apollo/go-client/cmd/client.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/configcenter/configcenter-apollo-server.run.xml b/.run/configcenter/configcenter-apollo-server.run.xml
index 3384df6..de38711 100644
--- a/.run/configcenter/configcenter-apollo-server.run.xml
+++ b/.run/configcenter/configcenter-apollo-server.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="configcenter-apollo-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/configcenter/apollo/go-server/conf/server.yml" />
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/configcenter/apollo/go-server/conf/log.yml" />
- </envs>
- <kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/configcenter/apollo/go-server/cmd/server.go" />
- <package value="github.com/apache/dubbo-go-samples/configcenter/apollo/go-server/cmd" />
- <directory value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
+ <configuration default="false" name="configcenter-apollo-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-configcenter" singleton="true">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$/configcenter/apollo/go-server" />
+ <envs>
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/configcenter/apollo/go-server/conf/dubbogo.yml" />
+ </envs>
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/configcenter/apollo/go-server/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/configcenter/apollo/go-client/cmd/server.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/configcenter/configcenter-apollo-test.run.xml b/.run/configcenter/configcenter-apollo-test.run.xml
index 36035f1..1bfcf2b 100644
--- a/.run/configcenter/configcenter-apollo-test.run.xml
+++ b/.run/configcenter/configcenter-apollo-test.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="configcenter-apollo-test" type="GoTestRunConfiguration" factoryName="Go Test">
+ <configuration default="false" name="configcenter-apollo-test" type="GoTestRunConfiguration" factoryName="Go Test" >
<module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$/configcenter/apollo" />
+ <working_directory value="$PROJECT_DIR$/integrate_test/configcenter/apollo" />
<useCustomBuildTags value="true" />
<envs>
- <env name="CONF_CONSUMER_FILE_PATH" value="go-server/conf/client.yml" />
- <env name="APP_LOG_CONF_FILE" value="go-server/conf/log.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/configcenter/apollo/go-server/conf/dubbogo.yml" />
</envs>
<framework value="gotest" />
<kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/configcenter/apollo/go-server/tests/integration" />
+ <package value="github.com/apache/dubbo-go-samples/integrate_test/configcenter/apollo/tests/integration" />
<directory value="$PROJECT_DIR$" />
<filePath value="$PROJECT_DIR$" />
<method v="2" />
diff --git a/.run/helloworld-go-server.run.xml b/.run/helloworld-go-server.run.xml
deleted file mode 100644
index 12a75d0..0000000
--- a/.run/helloworld-go-server.run.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="helloworld-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-helloworld" singleton="true">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/helloworld/go-server/conf/dubbogo.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/helloworld/go-server/cmd" />
- <directory value="$PROJECT_DIR$" />
- <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/configcenter/apollo/README.md b/configcenter/apollo/README.md
new file mode 100644
index 0000000..7ff6697
--- /dev/null
+++ b/configcenter/apollo/README.md
@@ -0,0 +1,64 @@
+# Apollo config center example
+
+
+## Instructions
+
+
+### go-server start
+
+1. Create new apollo server namespace for yaml format
+
+2. Add provider config content
+```yaml
+dubbo:
+ application:
+ name: "demo-server"
+ version: "2.0"
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "triple":
+ name: "tri"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "greeterImpl":
+ protocol: "triple"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
+```
+
+3. Start provider server
+
+### go-client start
+
+1. Create new apollo client namespace for yaml format
+
+2. Add client config content
+
+```yaml
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "greeterImpl":
+ protocol: "tri"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
+```
+
+3. Start provider server
+
+
+
+
+
diff --git a/configcenter/apollo/README_zh.md b/configcenter/apollo/README_zh.md
new file mode 100644
index 0000000..6fd7a14
--- /dev/null
+++ b/configcenter/apollo/README_zh.md
@@ -0,0 +1,60 @@
+# Apollo 配置中心示例
+
+
+## 介绍
+
+
+### go-server 启动
+
+1. 创建新的apollo服务端yaml格式的namespace
+
+2. 添加服务端配置内容
+
+```yaml
+dubbo:
+ application:
+ name: "demo-server"
+ version: "2.0"
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "triple":
+ name: "tri"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "greeterImpl":
+ protocol: "triple"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
+```
+
+3. 启动go-server
+
+### go-client 启动
+
+1. 创建新的apollo客户端yaml格式的namespace
+
+2. 添加客户端配置内容
+
+```yaml
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "greeterImpl":
+ protocol: "tri"
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
+```
+
+3. 启动go-client
\ No newline at end of file
diff --git a/configcenter/apollo/go-client/cmd/client.go b/configcenter/apollo/go-client/cmd/client.go
index 37c1b05..68fe2c0 100644
--- a/configcenter/apollo/go-client/cmd/client.go
+++ b/configcenter/apollo/go-client/cmd/client.go
@@ -19,50 +19,37 @@ package main
import (
"context"
- "os"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/config_center/apollo"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/configcenter/apollo/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(pkg.UserProvider)
+var grpcGreeterImpl = new(api.GreeterClientImpl)
func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
+ config.SetConsumerService(grpcGreeterImpl)
}
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
func main() {
- hessian.RegisterPOJO(&pkg.User{})
config.Load()
time.Sleep(3 * time.Second)
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply := &api.User{}
+ if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ logger.Error(err)
}
- gxlog.CInfo("response result: %v\n", user)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/configcenter/apollo/go-client/conf/client.yml b/configcenter/apollo/go-client/conf/client.yml
deleted file mode 100644
index 5b8c6c0..0000000
--- a/configcenter/apollo/go-client/conf/client.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# config center config
-config_center:
- protocol: apollo
- address: 127.0.0.1:8080
- app_id: UserInfoClient
- cluster: dev
-
-# application config
-application:
- organization: "dubbo.io"
- name: "user-info-client"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/configcenter/apollo/go-client/conf/dubbogo.yml b/configcenter/apollo/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..c147f2e
--- /dev/null
+++ b/configcenter/apollo/go-client/conf/dubbogo.yml
@@ -0,0 +1,7 @@
+dubbo:
+ config-center:
+ protocol: "apollo"
+ address: "localhost:8080"
+ app-id: "demo_server"
+ cluster: "default"
+ namespace: "demo-client-config"
diff --git a/configcenter/apollo/go-client/conf/log.yml b/configcenter/apollo/go-client/conf/log.yml
deleted file mode 100644
index d0400fe..0000000
--- a/configcenter/apollo/go-client/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/configcenter/apollo/go-client/pkg/user.go b/configcenter/apollo/go-client/pkg/user.go
deleted file mode 100644
index 7733ea4..0000000
--- a/configcenter/apollo/go-client/pkg/user.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/configcenter/apollo/go-server/cmd/server.go b/configcenter/apollo/go-server/cmd/server.go
index e8adb2b..7e54974 100644
--- a/configcenter/apollo/go-server/cmd/server.go
+++ b/configcenter/apollo/go-server/cmd/server.go
@@ -18,6 +18,7 @@
package main
import (
+ "context"
"fmt"
"os"
"os/signal"
@@ -26,33 +27,35 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/config_center/apollo"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/configcenter/apollo/go-server/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
var (
survivalTimeout = int(3e9)
)
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
+type GreeterProvider struct {
+ api.GreeterProviderBase
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
+
+func main() {
+ config.SetProviderService(&GreeterProvider{})
+ err := config.Load()
+ if err != nil {
+ panic(err)
+ }
initSignal()
}
diff --git a/configcenter/apollo/go-server/conf/client.yml b/configcenter/apollo/go-server/conf/client.yml
deleted file mode 100644
index 8a1bf33..0000000
--- a/configcenter/apollo/go-server/conf/client.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# config center config
-config_center:
- protocol: apollo
- address: 127.0.0.1:8080
- app_id: UserInfoTest
- cluster: dev
-
-# application config
-application:
- organization: "dubbo.io"
- name: "user-info-client"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/configcenter/apollo/go-server/conf/dubbogo.yml b/configcenter/apollo/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..0b09dab
--- /dev/null
+++ b/configcenter/apollo/go-server/conf/dubbogo.yml
@@ -0,0 +1,7 @@
+dubbo:
+ config-center:
+ protocol: "apollo"
+ address: "localhost:8080"
+ app-id: "demo_server"
+ cluster: "default"
+ namespace: "demo-provider-config"
diff --git a/configcenter/apollo/go-server/conf/log.yml b/configcenter/apollo/go-server/conf/log.yml
deleted file mode 100644
index a75bccb..0000000
--- a/configcenter/apollo/go-server/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/configcenter/apollo/go-server/conf/server.yml b/configcenter/apollo/go-server/conf/server.yml
deleted file mode 100644
index 5053ec5..0000000
--- a/configcenter/apollo/go-server/conf/server.yml
+++ /dev/null
@@ -1,62 +0,0 @@
-# dubbo server yaml configure file
-
-# config center config
-config_center:
- protocol: apollo
- address: 127.0.0.1:8080
- app_id: UserInfoServer
- cluster: dev
-
-# application config
-application:
- organization: "dubbo.io"
- name: "user-info-server"
- module: "dubbo-go user-info server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/configcenter/apollo/go-server/pkg/user.go b/configcenter/apollo/go-server/pkg/user.go
deleted file mode 100644
index 75d0916..0000000
--- a/configcenter/apollo/go-server/pkg/user.go
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/go.mod b/go.mod
index 550d8f4..d9d33bc 100644
--- a/go.mod
+++ b/go.mod
@@ -28,6 +28,8 @@ require (
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a // indirect
)
-replace github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
+replace (
+ github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
+)
go 1.13
diff --git a/configcenter/apollo/go-server/docker/docker-compose.yml b/integrate_test/configcenter/apollo/docker/docker-compose.yml
similarity index 100%
rename from configcenter/apollo/go-server/docker/docker-compose.yml
rename to integrate_test/configcenter/apollo/docker/docker-compose.yml
diff --git a/configcenter/apollo/go-server/docker/docker-health-check.sh b/integrate_test/configcenter/apollo/docker/docker-health-check.sh
similarity index 100%
rename from configcenter/apollo/go-server/docker/docker-health-check.sh
rename to integrate_test/configcenter/apollo/docker/docker-health-check.sh
diff --git a/configcenter/apollo/go-server/docker/sql/apolloconfigdb.sql b/integrate_test/configcenter/apollo/docker/sql/apolloconfigdb.sql
similarity index 100%
rename from configcenter/apollo/go-server/docker/sql/apolloconfigdb.sql
rename to integrate_test/configcenter/apollo/docker/sql/apolloconfigdb.sql
diff --git a/configcenter/apollo/go-server/docker/sql/apolloportaldb.sql b/integrate_test/configcenter/apollo/docker/sql/apolloportaldb.sql
similarity index 100%
rename from configcenter/apollo/go-server/docker/sql/apolloportaldb.sql
rename to integrate_test/configcenter/apollo/docker/sql/apolloportaldb.sql
diff --git a/configcenter/apollo/go-server/tests/integration/userprovider_test.go b/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
similarity index 67%
rename from configcenter/apollo/go-server/tests/integration/userprovider_test.go
rename to integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
index 7183e64..992c55d 100644
--- a/configcenter/apollo/go-server/tests/integration/userprovider_test.go
+++ b/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
@@ -28,12 +28,24 @@ import (
"github.com/stretchr/testify/assert"
)
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
+)
+
+func TestSayHello(t *testing.T) {
+ req := &dubbo3pb.HelloRequest{
+ Name: "laurence",
+ }
+
+ reply := &dubbo3pb.User{}
+
+ ctx := context.Background()
+ ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
+
+ err := greeterProvider.SayHello(ctx, req, reply)
+
assert.Nil(t, err)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
+ assert.Equal(t, "Hello laurence", reply.Name)
+ assert.Equal(t, "12345", reply.Id)
+ assert.Equal(t, int32(21), reply.Age)
}
diff --git a/configcenter/apollo/go-server/tests/integration/main_test.go b/integrate_test/configcenter/apollo/tests/integration/main_test.go
similarity index 73%
rename from configcenter/apollo/go-server/tests/integration/main_test.go
rename to integrate_test/configcenter/apollo/tests/integration/main_test.go
index a5c1729..d8a0568 100644
--- a/configcenter/apollo/go-server/tests/integration/main_test.go
+++ b/integrate_test/configcenter/apollo/tests/integration/main_test.go
@@ -20,7 +20,6 @@
package integration
import (
- "context"
"os"
"testing"
"time"
@@ -31,42 +30,23 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/config_center/apollo"
_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
_ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
- hessian "github.com/apache/dubbo-go-hessian2"
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(UserProvider)
+var greeterProvider = new(dubbo3pb.GreeterClientImpl)
func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
+ config.SetConsumerService(greeterProvider)
config.Load()
time.Sleep(3 * time.Second)
os.Exit(m.Run())
}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go
index 8100011..6148859 100644
--- a/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go
+++ b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go
@@ -34,7 +34,7 @@ import (
import (
dubbo3pb "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3"
- grpcpb "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/grpc_test_proto"
+ grpcpb "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/grpc_test_proto"
)
func TestSayHello(t *testing.T) {
@@ -51,8 +51,7 @@ func TestSayHello(t *testing.T) {
assert.Equal(t, int32(21), user.Age)
}
-
-func TestStreamSayHello(t *testing.T){
+func TestStreamSayHello(t *testing.T) {
ctx := context.Background()
ctx = context.WithValue(ctx, tripleConstant.TripleCtxKey(tripleConstant.TripleRequestID), "triple-request-id-demo")
req := dubbo3pb.HelloRequest{
@@ -70,18 +69,18 @@ func TestStreamSayHello(t *testing.T){
rspUser := &dubbo3pb.User{}
err = r.RecvMsg(rspUser)
assert.Nil(t, err)
- assert.Equal(t, "hello laurence",rspUser.Name)
- assert.Equal(t, "123456789",rspUser.Id)
- assert.Equal(t, int32(18),rspUser.Age)
+ assert.Equal(t, "hello laurence", rspUser.Name)
+ assert.Equal(t, "123456789", rspUser.Id)
+ assert.Equal(t, int32(18), rspUser.Age)
err = r.Send(&req)
assert.Nil(t, err)
err = r.RecvMsg(rspUser)
assert.Nil(t, err)
- assert.Equal(t, "hello laurence",rspUser.Name)
- assert.Equal(t, "123456789",rspUser.Id)
- assert.Equal(t, int32(19),rspUser.Age)
+ assert.Equal(t, "hello laurence", rspUser.Name)
+ assert.Equal(t, "123456789", rspUser.Id)
+ assert.Equal(t, int32(19), rspUser.Age)
}
func TestGRPCClientHello(t *testing.T) {
@@ -102,7 +101,7 @@ func TestGRPCClientHello(t *testing.T) {
assert.Equal(t, int32(21), rsp.Age)
}
-func TestGRPCClientStreamSayHello(t *testing.T){
+func TestGRPCClientStreamSayHello(t *testing.T) {
conn, err := grpc.Dial("127.0.0.1:20001", grpc.WithInsecure())
assert.Nil(t, err)
defer conn.Close()
@@ -121,18 +120,16 @@ func TestGRPCClientStreamSayHello(t *testing.T){
rspUser := &grpcpb.User{}
err = clientStream.RecvMsg(rspUser)
assert.Nil(t, err)
- assert.Equal(t, "hello grpc laurence",rspUser.Name)
- assert.Equal(t, "123456789",rspUser.Id)
- assert.Equal(t, int32(18),rspUser.Age)
+ assert.Equal(t, "hello grpc laurence", rspUser.Name)
+ assert.Equal(t, "123456789", rspUser.Id)
+ assert.Equal(t, int32(18), rspUser.Age)
err = clientStream.Send(req)
assert.Nil(t, err)
err = clientStream.RecvMsg(rspUser)
assert.Nil(t, err)
- assert.Equal(t, "hello grpc laurence",rspUser.Name)
- assert.Equal(t, "123456789",rspUser.Id)
- assert.Equal(t, int32(19),rspUser.Age)
+ assert.Equal(t, "hello grpc laurence", rspUser.Name)
+ assert.Equal(t, "123456789", rspUser.Id)
+ assert.Equal(t, int32(19), rspUser.Age)
}
-
-
[dubbo-go-samples] 01/14: fix: init new config
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 07bf5eed368feba38edb81045fbd856172e56f30
Author: LaurenceLiZhixin <38...@qq.com>
AuthorDate: Sun Aug 1 15:51:01 2021 +0800
fix: init new config
---
.run/helloworld-go-server.run.xml | 4 +-
.run/{triple => }/triple-server.run.xml | 6 +-
go.sum | 11 +-
helloworld/README.md | 157 +--
helloworld/README_zh.md | 156 +--
helloworld/go-client/cmd/client.go | 38 +-
.../go-client}/cmd/env.sh | 0
helloworld/go-client/conf/client.yml | 72 +-
helloworld/go-client/conf/log.yml | 27 -
helloworld/go-server/cmd/server.go | 51 +-
helloworld/go-server/conf/client.yml | 59 -
helloworld/go-server/conf/log.yml | 27 -
helloworld/go-server/conf/server.yml | 72 +-
helloworld/go-server/docker/docker-health-check.sh | 10 -
helloworld/go-server/pkg/greeter.go | 45 +
helloworld/go-server/pkg/user.go | 52 -
.../go-server/tests/integration/main_test.go | 29 +-
.../tests/integration/userprovider_test.go | 26 +-
helloworld/java-client/build.sh | 21 -
.../org/apache/dubbo/sample/hello/Helloworld.java | 1432 ++++++++++++++++++++
helloworld/java-client/pom.xml | 294 ++--
helloworld/java-client/run.sh | 2 +
.../java-client/src/main/assembly/assembly.xml | 43 -
.../com/apache/dubbo/sample/basic/ApiConsumer.java | 52 +
.../com/apache/dubbo/sample/basic/IGreeter.java | 31 +
.../src/main/java/org/apache/dubbo/Consumer.java | 60 -
.../src/main/java/org/apache/dubbo/User.java | 76 --
.../main/java/org/apache/dubbo/UserProvider.java | 18 -
.../java-client/src/main/proto/helloworld.proto | 28 +
.../resources/META-INF/spring/dubbo.consumer.xml | 38 -
.../src/main/resources/META-INF/spring/service.xml | 24 -
.../src/main/resources/dubbo.properties | 12 -
.../src/main/resources/log4j.properties | 42 +-
helloworld/java-server/build.sh | 20 -
.../org/apache/dubbo/sample/hello/Helloworld.java | 1432 ++++++++++++++++++++
helloworld/java-server/pom.xml | 244 ++--
helloworld/java-server/run.sh | 2 +
helloworld/java-server/script/debug.sh | 23 -
.../java-server/src/main/assembly/assembly.xml | 44 -
.../com/apache/dubbo/sample/basic/ApiProvider.java | 39 +
.../com/apache/dubbo/sample/basic/IGreeter.java | 30 +
.../apache/dubbo/sample/basic/IGreeter1Impl.java | 34 +
.../src/main/java/org/apache/dubbo/Provider.java | 33 -
.../src/main/java/org/apache/dubbo/User.java | 86 --
.../main/java/org/apache/dubbo/UserProvider.java | 24 -
.../java/org/apache/dubbo/UserProviderImpl.java | 30 -
.../java-server/src/main/proto/helloworld.proto | 28 +
.../resources/META-INF/spring/dubbo.provider.xml | 34 -
.../src/main/resources/dubbo.properties | 13 -
.../src/main/resources/log4j.properties | 41 +-
helloworld/protobuf/helloworld.pb.go | 323 +++++
.../pkg/user.go => protobuf/helloworld.proto} | 35 +-
helloworld/protobuf/protobuf.mk | 26 +
logger/go-client/cmd/client.go | 2 +-
54 files changed, 3919 insertions(+), 1639 deletions(-)
diff --git a/.run/helloworld-go-server.run.xml b/.run/helloworld-go-server.run.xml
index ddf29c3..f098a7f 100644
--- a/.run/helloworld-go-server.run.xml
+++ b/.run/helloworld-go-server.run.xml
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="helloworld-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="helloworld-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
@@ -7,9 +7,9 @@
<env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/helloworld/go-server/conf/server.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/helloworld/go-server/cmd/server.go" />
<package value="github.com/apache/dubbo-go-samples/helloworld/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/helloworld/go-server/cmd/server.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/triple-server.run.xml b/.run/triple-server.run.xml
similarity index 68%
rename from .run/triple/triple-server.run.xml
rename to .run/triple-server.run.xml
index f36e0c3..b249d57 100644
--- a/.run/triple/triple-server.run.xml
+++ b/.run/triple-server.run.xml
@@ -2,14 +2,10 @@
<configuration default="false" name="triple-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="triple">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/server.yml" />
- </envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go" />
<package value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/go.sum b/go.sum
index 849c5de..ad2291c 100644
--- a/go.sum
+++ b/go.sum
@@ -12,11 +12,8 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210708063655-af290429dee4 h1:JRGjw66CguqaOeYigLauTdccWqnvy7U3OYqAHzXYmlw=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210708063655-af290429dee4/go.mod h1:2l+IXuSuJvEk2g/ze1la8t1sX+yJH220aHo6JJVriM8=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612 h1:uQMGg4Hnu/iO+RLrKIRsBXgJLUpLh+UG5NuVNGxGlsg=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612/go.mod h1:RvuYcSX5rxb1aQTSol4EFt2txaJhzMmUAkT75lT9ETE=
-github.com/Azure/azure-sdk-for-go v40.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
@@ -115,6 +112,7 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee
github.com/coreos/go-semver v0.3.0 h1:wkHLiw0WNATZnSG7epLsujiMCgPAc9xhjJ4tgnAxmfM=
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
+github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd/v22 v22.1.0 h1:kq/SbG2BCKLkDKkjQf5OWwKWUKj1lgs3lFI4PxnR5lg=
github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk=
@@ -146,8 +144,7 @@ github.com/dubbogo/go-zookeeper v1.0.3 h1:UkuY+rBsxdT7Bs63QAzp9z7XqQ53W1j8E5rwl8
github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
-github.com/dubbogo/gost v1.11.13 h1:sWvK1QbHpPBMmRQJV9qIH3syLegQBQa4xAPof3/Kv5c=
-github.com/dubbogo/gost v1.11.13/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
+github.com/dubbogo/gost v1.11.14 h1:9lfcdILOmqTOVAW1fPHa5uf1NrD6jlIOBe4vf8576yQ=
github.com/dubbogo/gost v1.11.14/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
github.com/dubbogo/net v0.0.3 h1:2k53mh+1U8h1gFjJ8ykzyP4wNdAdgjc5moD+xVHI/AE=
@@ -319,9 +316,8 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92Bcuy
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+github.com/grpc-ecosystem/grpc-gateway v1.14.6 h1:8ERzHx8aj1Sc47mu9n/AksaKCSWrMchFtkdrS4BIj5o=
github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
-github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU=
github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw=
github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
@@ -964,7 +960,6 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
diff --git a/helloworld/README.md b/helloworld/README.md
index c64d03a..893a170 100644
--- a/helloworld/README.md
+++ b/helloworld/README.md
@@ -1,135 +1,22 @@
-## Hello World Example
-
-### Configuration
-
-registy config
-
-```yaml
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-```
-
-provider config
-
-```yaml
-# service config
-services:
- # Reference ID
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
-```
-
-consumer config
-
-```yaml
-# reference config
-references:
- # Reference ID
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-```
-
-### Code
-
-provider
-
-```go
-// init
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-// define dto
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-// implement POJO interface for hessian2
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
-
-// service define
-type UserProvider struct {
-}
-
-// interface define
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- //biz code...
-}
-
-// implement RPCService interface
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-```
-
-consumer
-
-```go
-var userProvider = new(pkg.UserProvider)
-
-// init
-func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
-}
-
-// define dto
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-// implement POJO interface for hessian2
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
-
-// service define
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-// implement RPCService interface
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func main() {
- //dubbogo init
- config.Load()
- time.Sleep(3 * time.Second)
-
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- //...
- }
- gxlog.CInfo("response result: %v\n", user)
-}
-```
\ No newline at end of file
+# Helloworld for Dubbo-go 3.0
+
+For pb definition and go client and server startup, please refer to [dubbogo-grpc](../dubbogo-grpc/README.md)
+
+## Instructions
+
+1. Start the server
+
+Use goland to start triple/gojava-go-server
+
+or
+
+Execute `sh run.sh` in the java-server folder to start the java server
+
+2. Start the client
+
+Use goland to start triple/gojava-go-client
+
+or
+
+Execute `sh run.sh` under the java-client folder to start the java client
+
diff --git a/helloworld/README_zh.md b/helloworld/README_zh.md
index 987f30e..d280c2e 100644
--- a/helloworld/README_zh.md
+++ b/helloworld/README_zh.md
@@ -1,135 +1,21 @@
-## Hello World 实例
-
-### 配置
-
-注册中心配置
-
-```yaml
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-```
-
-服务提供者配置
-
-```yaml
-# service config
-services:
- # Reference ID
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
-```
-
-服务消费者配置
-
-```yaml
-# reference config
-references:
- # Reference ID
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-```
-
-### 代码示例
-
-生产者示例
-
-```go
-// init
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-// define dto
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-// implement POJO interface for hessian2
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
-
-// service define
-type UserProvider struct {
-}
-
-// interface define
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- //biz code...
-}
-
-// implement RPCService interface
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-```
-
-消费者示例
-
-```go
-var userProvider = new(pkg.UserProvider)
-
-// init
-func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
-}
-
-// define dto
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-// implement POJO interface for hessian2
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
-
-// service define
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-// implement RPCService interface
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func main() {
- //dubbogo init
- config.Load()
- time.Sleep(3 * time.Second)
-
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- //...
- }
- gxlog.CInfo("response result: %v\n", user)
-}
-```
\ No newline at end of file
+# Helloworld for Dubbo-go 3.0
+
+pb 定义以及 go 客户端、服务端启动,可以参考 [dubbogo-grpc](../dubbogo-grpc/README_zh.md)
+
+## 使用方法
+
+1. 启动服务端
+
+使用 goland 启动 triple/gojava-go-server
+
+或者
+
+在 java-server 文件夹下执行 `sh run.sh` 启动 java server
+
+2. 启动客户端
+
+使用 goland 启动 triple/gojava-go-client
+
+或者
+
+在 java-client 文件夹下执行 `sh run.sh` 启动 java client
diff --git a/helloworld/go-client/cmd/client.go b/helloworld/go-client/cmd/client.go
index c7e8235..3f40b44 100644
--- a/helloworld/go-client/cmd/client.go
+++ b/helloworld/go-client/cmd/client.go
@@ -19,7 +19,7 @@ package main
import (
"context"
- "os"
+ "fmt"
"time"
)
@@ -29,38 +29,40 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
+ _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- gxlog "github.com/dubbogo/gost/log"
)
import (
- "github.com/apache/dubbo-go-samples/helloworld/go-client/pkg"
+ pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
)
-var userProvider = new(pkg.UserProvider)
+var grpcGreeterImpl = new(pb.GreeterClientImpl)
func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
+ config.SetConsumerService(grpcGreeterImpl)
}
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+// deprecated: need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+// or config.Load(config.Path("..."))
func main() {
config.Load()
time.Sleep(3 * time.Second)
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ fmt.Println("\n\n\nstart to test dubbo")
+ req := &pb.HelloRequest{
+ Name: "laurence",
+ }
+
+ reply := &pb.User{}
+
+ ctx := context.Background()
+ ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
+
+ err := grpcGreeterImpl.SayHello(ctx, req, reply)
if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
+ panic(err)
}
- gxlog.CInfo("response result: %v\n", user)
+ fmt.Printf("client response result: %v\n", reply)
}
diff --git a/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/env.sh b/helloworld/go-client/cmd/env.sh
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/env.sh
rename to helloworld/go-client/cmd/env.sh
diff --git a/helloworld/go-client/conf/client.yml b/helloworld/go-client/conf/client.yml
index 308d530..64b8ae1 100644
--- a/helloworld/go-client/conf/client.yml
+++ b/helloworld/go-client/conf/client.yml
@@ -1,59 +1,13 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoClient"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ consumer:
+ registry:
+ - demoZK
+ references:
+ "greeterImpl":
+ protocol: "tri"
+ interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/helloworld/go-client/conf/log.yml b/helloworld/go-client/conf/log.yml
deleted file mode 100644
index 2b6e93a..0000000
--- a/helloworld/go-client/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/helloworld/go-server/cmd/server.go b/helloworld/go-server/cmd/server.go
index 5fe60e0..68ac7ac 100644
--- a/helloworld/go-server/cmd/server.go
+++ b/helloworld/go-server/cmd/server.go
@@ -18,63 +18,22 @@
package main
import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- "dubbo.apache.org/dubbo-go/v3/common/logger"
_ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
+ _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
)
import (
"github.com/apache/dubbo-go-samples/helloworld/go-server/pkg"
)
-var (
- survivalTimeout = int(3e9)
-)
-
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
+// deprecated: need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
+// config.Load(config.Path("..."))
func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.SetProviderService(new(pkg.UserProvider))
+ config.SetProviderService(pkg.NewGreeterProvider())
config.Load()
-
- initSignal()
-}
-
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
-
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
- }
+ select {}
}
diff --git a/helloworld/go-server/conf/client.yml b/helloworld/go-server/conf/client.yml
deleted file mode 100644
index 11ae382..0000000
--- a/helloworld/go-server/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoTest"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/helloworld/go-server/conf/log.yml b/helloworld/go-server/conf/log.yml
deleted file mode 100644
index 970d988..0000000
--- a/helloworld/go-server/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/helloworld/go-server/conf/server.yml b/helloworld/go-server/conf/server.yml
index af90434..a435688 100644
--- a/helloworld/go-server/conf/server.yml
+++ b/helloworld/go-server/conf/server.yml
@@ -1,55 +1,17 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoServer"
- module: "dubbo-go user-info server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
+dubbo:
+ registries:
+ "demoZK":
+ protocol: "zookeeper"
+ timeout: "3s"
+ address: "127.0.0.1:2181"
+ protocols:
+ "triple":
+ name: "tri"
+ port: 20000
+ provider:
+ registry:
+ - demoZK
+ services:
+ "greeterImpl":
+ protocol: "triple"
+ interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/helloworld/go-server/docker/docker-health-check.sh b/helloworld/go-server/docker/docker-health-check.sh
deleted file mode 100644
index 2cc32c2..0000000
--- a/helloworld/go-server/docker/docker-health-check.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-curl 127.0.0.1:2181
-res=$?
-passCode=52
-while [ "$res" != "$passCode" ];do
- sleep 5
- curl 127.0.0.1:2181
- res=$?
-done
-
-sleep 5
diff --git a/helloworld/go-server/pkg/greeter.go b/helloworld/go-server/pkg/greeter.go
new file mode 100644
index 0000000..08b393a
--- /dev/null
+++ b/helloworld/go-server/pkg/greeter.go
@@ -0,0 +1,45 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package pkg
+
+import (
+ "context"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
+)
+
+import (
+ pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
+)
+
+type GreeterProvider struct {
+ *pb.GreeterProviderBase
+}
+
+func NewGreeterProvider() *GreeterProvider {
+ return &GreeterProvider{
+ GreeterProviderBase: &pb.GreeterProviderBase{},
+ }
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &pb.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
diff --git a/helloworld/go-server/pkg/user.go b/helloworld/go-server/pkg/user.go
deleted file mode 100644
index 8e34bf0..0000000
--- a/helloworld/go-server/pkg/user.go
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "github.com/dubbogo/gost/log"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/helloworld/go-server/tests/integration/main_test.go b/helloworld/go-server/tests/integration/main_test.go
index d028c55..c739d6c 100644
--- a/helloworld/go-server/tests/integration/main_test.go
+++ b/helloworld/go-server/tests/integration/main_test.go
@@ -20,7 +20,6 @@
package integration
import (
- "context"
"os"
"testing"
"time"
@@ -36,36 +35,18 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
- hessian "github.com/apache/dubbo-go-hessian2"
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
)
-var userProvider = new(UserProvider)
+var greeterProvider = new(dubbo3pb.GreeterClientImpl)
func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
+ config.SetConsumerService(greeterProvider)
config.Load()
time.Sleep(3 * time.Second)
os.Exit(m.Run())
}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/helloworld/go-server/tests/integration/userprovider_test.go b/helloworld/go-server/tests/integration/userprovider_test.go
index 7183e64..01a7855 100644
--- a/helloworld/go-server/tests/integration/userprovider_test.go
+++ b/helloworld/go-server/tests/integration/userprovider_test.go
@@ -28,12 +28,24 @@ import (
"github.com/stretchr/testify/assert"
)
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
+)
+
+func TestSayHello(t *testing.T) {
+ req := &dubbo3pb.HelloRequest{
+ Name: "laurence",
+ }
+
+ reply := &dubbo3pb.User{}
+
+ ctx := context.Background()
+ ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
+
+ err := greeterProvider.SayHello(ctx, req, reply)
+
assert.Nil(t, err)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
+ assert.Equal(t, "Hello laurence", reply.Name)
+ assert.Equal(t, "12345", reply.Id)
+ assert.Equal(t, int32(21), reply.Age)
}
diff --git a/helloworld/java-client/build.sh b/helloworld/java-client/build.sh
deleted file mode 100644
index c869acf..0000000
--- a/helloworld/java-client/build.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# rm src/main/resources/META-INF/spring/dubbo.consumer.xml
-# cp src/main/resources/META-INF/spring/dubbo-protocol.consumer.xml src/main/resources/META-INF/spring/dubbo.consumer.xml
-# cp src/main/resources/META-INF/spring/jsonrpc-protocol.consumer.xml src/main/resources/META-INF/spring/dubbo.consumer.xml
-mvn clean package -Dmaven.test.skip
diff --git a/helloworld/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/helloworld/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
new file mode 100644
index 0000000..99758ac
--- /dev/null
+++ b/helloworld/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
@@ -0,0 +1,1432 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: helloworld.proto
+
+package org.apache.dubbo.sample.hello;
+
+public final class Helloworld {
+ private Helloworld() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface HelloRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:helloworld.HelloRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+ }
+ /**
+ * <pre>
+ * The request message containing the user's name.
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.HelloRequest}
+ */
+ public static final class HelloRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:helloworld.HelloRequest)
+ HelloRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use HelloRequest.newBuilder() to construct.
+ private HelloRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HelloRequest() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new HelloRequest();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HelloRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest.class, org.apache.dubbo.sample.hello.Helloworld.HelloRequest.Builder.class);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof org.apache.dubbo.sample.hello.Helloworld.HelloRequest)) {
+ return super.equals(obj);
+ }
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest other = (org.apache.dubbo.sample.hello.Helloworld.HelloRequest) obj;
+
+ if (!getName()
+ .equals(other.getName())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(org.apache.dubbo.sample.hello.Helloworld.HelloRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * The request message containing the user's name.
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.HelloRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:helloworld.HelloRequest)
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest.class, org.apache.dubbo.sample.hello.Helloworld.HelloRequest.Builder.class);
+ }
+
+ // Construct using org.apache.dubbo.sample.hello.Helloworld.HelloRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_descriptor;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest getDefaultInstanceForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.HelloRequest.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest build() {
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest buildPartial() {
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest result = new org.apache.dubbo.sample.hello.Helloworld.HelloRequest(this);
+ result.name_ = name_;
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof org.apache.dubbo.sample.hello.Helloworld.HelloRequest) {
+ return mergeFrom((org.apache.dubbo.sample.hello.Helloworld.HelloRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(org.apache.dubbo.sample.hello.Helloworld.HelloRequest other) {
+ if (other == org.apache.dubbo.sample.hello.Helloworld.HelloRequest.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (org.apache.dubbo.sample.hello.Helloworld.HelloRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object name_ = "";
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:helloworld.HelloRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:helloworld.HelloRequest)
+ private static final org.apache.dubbo.sample.hello.Helloworld.HelloRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new org.apache.dubbo.sample.hello.Helloworld.HelloRequest();
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HelloRequest>
+ PARSER = new com.google.protobuf.AbstractParser<HelloRequest>() {
+ @java.lang.Override
+ public HelloRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HelloRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HelloRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HelloRequest> getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface UserOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:helloworld.User)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>string id = 2;</code>
+ * @return The id.
+ */
+ java.lang.String getId();
+ /**
+ * <code>string id = 2;</code>
+ * @return The bytes for id.
+ */
+ com.google.protobuf.ByteString
+ getIdBytes();
+
+ /**
+ * <code>int32 age = 3;</code>
+ * @return The age.
+ */
+ int getAge();
+ }
+ /**
+ * <pre>
+ * The response message containing the greetings
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.User}
+ */
+ public static final class User extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:helloworld.User)
+ UserOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use User.newBuilder() to construct.
+ private User(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private User() {
+ name_ = "";
+ id_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new User();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private User(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ id_ = s;
+ break;
+ }
+ case 24: {
+
+ age_ = input.readInt32();
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.User.class, org.apache.dubbo.sample.hello.Helloworld.User.Builder.class);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ID_FIELD_NUMBER = 2;
+ private volatile java.lang.Object id_;
+ /**
+ * <code>string id = 2;</code>
+ * @return The id.
+ */
+ @java.lang.Override
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ id_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @return The bytes for id.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int AGE_FIELD_NUMBER = 3;
+ private int age_;
+ /**
+ * <code>int32 age = 3;</code>
+ * @return The age.
+ */
+ @java.lang.Override
+ public int getAge() {
+ return age_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (!getIdBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_);
+ }
+ if (age_ != 0) {
+ output.writeInt32(3, age_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (!getIdBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_);
+ }
+ if (age_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(3, age_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof org.apache.dubbo.sample.hello.Helloworld.User)) {
+ return super.equals(obj);
+ }
+ org.apache.dubbo.sample.hello.Helloworld.User other = (org.apache.dubbo.sample.hello.Helloworld.User) obj;
+
+ if (!getName()
+ .equals(other.getName())) return false;
+ if (!getId()
+ .equals(other.getId())) return false;
+ if (getAge()
+ != other.getAge()) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (37 * hash) + ID_FIELD_NUMBER;
+ hash = (53 * hash) + getId().hashCode();
+ hash = (37 * hash) + AGE_FIELD_NUMBER;
+ hash = (53 * hash) + getAge();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(org.apache.dubbo.sample.hello.Helloworld.User prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * The response message containing the greetings
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.User}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:helloworld.User)
+ org.apache.dubbo.sample.hello.Helloworld.UserOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.User.class, org.apache.dubbo.sample.hello.Helloworld.User.Builder.class);
+ }
+
+ // Construct using org.apache.dubbo.sample.hello.Helloworld.User.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ id_ = "";
+
+ age_ = 0;
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_descriptor;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User getDefaultInstanceForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.User.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User build() {
+ org.apache.dubbo.sample.hello.Helloworld.User result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User buildPartial() {
+ org.apache.dubbo.sample.hello.Helloworld.User result = new org.apache.dubbo.sample.hello.Helloworld.User(this);
+ result.name_ = name_;
+ result.id_ = id_;
+ result.age_ = age_;
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof org.apache.dubbo.sample.hello.Helloworld.User) {
+ return mergeFrom((org.apache.dubbo.sample.hello.Helloworld.User)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(org.apache.dubbo.sample.hello.Helloworld.User other) {
+ if (other == org.apache.dubbo.sample.hello.Helloworld.User.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ if (!other.getId().isEmpty()) {
+ id_ = other.id_;
+ onChanged();
+ }
+ if (other.getAge() != 0) {
+ setAge(other.getAge());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ org.apache.dubbo.sample.hello.Helloworld.User parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (org.apache.dubbo.sample.hello.Helloworld.User) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object name_ = "";
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object id_ = "";
+ /**
+ * <code>string id = 2;</code>
+ * @return The id.
+ */
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ id_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @return The bytes for id.
+ */
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @param value The id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ id_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearId() {
+
+ id_ = getDefaultInstance().getId();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @param value The bytes for id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ id_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int age_ ;
+ /**
+ * <code>int32 age = 3;</code>
+ * @return The age.
+ */
+ @java.lang.Override
+ public int getAge() {
+ return age_;
+ }
+ /**
+ * <code>int32 age = 3;</code>
+ * @param value The age to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAge(int value) {
+
+ age_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>int32 age = 3;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearAge() {
+
+ age_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:helloworld.User)
+ }
+
+ // @@protoc_insertion_point(class_scope:helloworld.User)
+ private static final org.apache.dubbo.sample.hello.Helloworld.User DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new org.apache.dubbo.sample.hello.Helloworld.User();
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.User getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<User>
+ PARSER = new com.google.protobuf.AbstractParser<User>() {
+ @java.lang.Override
+ public User parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new User(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<User> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<User> getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_helloworld_HelloRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_helloworld_HelloRequest_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_helloworld_User_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_helloworld_User_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\020helloworld.proto\022\nhelloworld\"\034\n\014HelloR" +
+ "equest\022\014\n\004name\030\001 \001(\t\"-\n\004User\022\014\n\004name\030\001 \001" +
+ "(\t\022\n\n\002id\030\002 \001(\t\022\013\n\003age\030\003 \001(\005B\037\n\035org.apach" +
+ "e.dubbo.sample.hellob\006proto3"
+ };
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ });
+ internal_static_helloworld_HelloRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_helloworld_HelloRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_helloworld_HelloRequest_descriptor,
+ new java.lang.String[] { "Name", });
+ internal_static_helloworld_User_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_helloworld_User_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_helloworld_User_descriptor,
+ new java.lang.String[] { "Name", "Id", "Age", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/helloworld/java-client/pom.xml b/helloworld/java-client/pom.xml
index 1a333b9..10ae5bb 100644
--- a/helloworld/java-client/pom.xml
+++ b/helloworld/java-client/pom.xml
@@ -1,230 +1,162 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
-
- <groupId>com.ikurento</groupId>
- <artifactId>user-info-client</artifactId>
- <packaging>jar</packaging>
- <version>0.2.0</version>
- <description>The demo consumer module of dubbo project</description>
+ <groupId>com.apache.dubbogo</groupId>
+ <version>1.0-SNAPSHOT</version>
+ <artifactId>dubbo-samples-triple-client</artifactId>
<properties>
- <skip_maven_deploy>false</skip_maven_deploy>
-
- <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version>
- <dubbo-version>2.6.5</dubbo-version>
+ <source.level>1.8</source.level>
+ <target.level>1.8</target.level>
+ <dubbo.version>3.0.0</dubbo.version>
+ <junit.version>4.12</junit.version>
+ <spring-test.version>4.3.16.RELEASE</spring-test.version>
+ <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
+ <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
+ <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
+ <grpc.version>1.19.0</grpc.version>
+ <protoc.version>3.7.1</protoc.version>
</properties>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo-dependencies-bom</artifactId>
- <version>${dubbo-version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
- <groupId>com.qianmi</groupId>
- <artifactId>dubbo-rpc-jsonrpc</artifactId>
- <version>${dubbo-jsonrpc-version}</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
+ <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
- <version>${dubbo-version}</version>
- </dependency>
-
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <version>2.12.0</version>
- </dependency>
-
- <dependency>
- <groupId>org.javassist</groupId>
- <artifactId>javassist</artifactId>
- <version>3.20.0-GA</version>
+ <version>${dubbo.version}</version>
</dependency>
<dependency>
- <groupId>org.jboss.netty</groupId>
- <artifactId>netty</artifactId>
- <version>3.2.5.Final</version>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>3.14.0</version>
</dependency>
<dependency>
- <groupId>org.apache.mina</groupId>
- <artifactId>mina-core</artifactId>
- <version>1.1.7</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.grizzly</groupId>
- <artifactId>grizzly-core</artifactId>
- <version>2.1.4</version>
- </dependency>
- <dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>4.5.7</version>
- </dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.2.56</version>
- </dependency>
- <dependency>
- <groupId>com.thoughtworks.xstream</groupId>
- <artifactId>xstream</artifactId>
- <version>1.4.7</version>
- </dependency>
- <dependency>
- <groupId>org.apache.bsf</groupId>
- <artifactId>bsf-api</artifactId>
- <version>3.1</version>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-dependencies-zookeeper</artifactId>
+ <version>${dubbo.version}</version>
+ <type>pom</type>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
- <version>3.4.14</version>
- </dependency>
- <dependency>
- <groupId>com.github.sgroschupf</groupId>
- <artifactId>zkclient</artifactId>
- <version>0.1</version>
- </dependency>
- <dependency>
- <groupId>com.netflix.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <version>1.1.16</version>
- </dependency>
- <dependency>
- <groupId>com.googlecode.xmemcached</groupId>
- <artifactId>xmemcached</artifactId>
- <version>1.3.6</version>
+ <version>3.4.8</version>
</dependency>
<dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-frontend-simple</artifactId>
- <version>2.6.1</version>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-transports-http</artifactId>
- <version>2.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.apache.thrift</groupId>
- <artifactId>libthrift</artifactId>
- <version>0.12.0</version>
- </dependency>
- <dependency>
- <groupId>com.caucho</groupId>
- <artifactId>hessian</artifactId>
- <version>4.0.7</version>
- </dependency>
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>servlet-api</artifactId>
- <version>2.5</version>
- </dependency>
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.16</version>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.6.2</version>
- </dependency>
- <dependency>
- <groupId>redis.clients</groupId>
- <artifactId>jedis</artifactId>
- <version>2.1.0</version>
- </dependency>
- <dependency>
- <groupId>javax.validation</groupId>
- <artifactId>validation-api</artifactId>
- <version>1.0.0.GA</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-validator</artifactId>
- <version>4.2.0.Final</version>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${spring-test.version}</version>
+ <scope>test</scope>
</dependency>
+
<dependency>
- <groupId>javax.cache</groupId>
- <artifactId>cache-api</artifactId>
- <version>0.4</version>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>testcontainers</artifactId>
+ <version>1.12.3</version>
+ <scope>test</scope>
</dependency>
</dependencies>
+
+ <profiles>
+ <!-- For jdk 11 above JavaEE annotation -->
+ <profile>
+ <id>javax.annotation</id>
+ <activation>
+ <jdk>[1.11,)</jdk>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ <version>1.3.2</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+
<build>
+ <extensions>
+ <extension>
+ <groupId>kr.motd.maven</groupId>
+ <artifactId>os-maven-plugin</artifactId>
+ <version>1.6.1</version>
+ </extension>
+ </extensions>
<plugins>
<plugin>
- <artifactId>maven-dependency-plugin</artifactId>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>0.6.1</version>
+ <configuration>
+ <protocArtifact>com.google.protobuf:protoc:3.17.3:exe:${os.detected.classifier}</protocArtifact>
+ <pluginId>triple-java</pluginId>
+ <outputDirectory>build/generated/source/proto/main/java</outputDirectory>
+ </configuration>
<executions>
<execution>
- <id>unpack</id>
- <phase>package</phase>
<goals>
- <goal>unpack</goal>
+ <goal>compile</goal>
+ <goal>test-compile</goal>
</goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo</artifactId>
- <version>${dubbo-version}</version>
- <outputDirectory>${project.build.directory}/dubbo</outputDirectory>
- <includes>META-INF/assembly/**</includes>
- </artifactItem>
- </artifactItems>
- </configuration>
</execution>
</executions>
</plugin>
<plugin>
- <artifactId>maven-assembly-plugin</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
<configuration>
- <descriptor>src/main/assembly/assembly.xml</descriptor>
+ <source>${source.level}</source>
+ <target>${target.level}</target>
</configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
- <id>make-assembly</id>
- <phase>package</phase>
+ <phase>generate-sources</phase>
<goals>
- <goal>single</goal>
+ <goal>add-source</goal>
</goals>
+ <configuration>
+ <sources>
+ <source>build/generated/source/proto/main/java</source>
+ </sources>
+ </configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
-</project>
+
+</project>
\ No newline at end of file
diff --git a/helloworld/java-client/run.sh b/helloworld/java-client/run.sh
new file mode 100644
index 0000000..5152f3a
--- /dev/null
+++ b/helloworld/java-client/run.sh
@@ -0,0 +1,2 @@
+mvn install -DSkipTests
+mvn exec:java -Dexec.mainClass="com.apache.dubbo.sample.basic.ApiConsumer"
\ No newline at end of file
diff --git a/helloworld/java-client/src/main/assembly/assembly.xml b/helloworld/java-client/src/main/assembly/assembly.xml
deleted file mode 100644
index 21c6863..0000000
--- a/helloworld/java-client/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<assembly>
- <id>assembly</id>
- <formats>
- <format>tar.gz</format>
- </formats>
- <includeBaseDirectory>true</includeBaseDirectory>
- <fileSets>
- <fileSet>
- <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory>
- <outputDirectory>bin</outputDirectory>
- <fileMode>0755</fileMode>
- </fileSet>
- <fileSet>
- <directory>src/main/resources</directory>
- <includes>
- <include>dubbo.properties</include>
- <include>log4j.*</include>
- </includes>
- <outputDirectory>conf</outputDirectory>
- <fileMode>0644</fileMode>
- </fileSet>
- </fileSets>
- <dependencySets>
- <dependencySet>
- <outputDirectory>lib</outputDirectory>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
diff --git a/helloworld/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java b/helloworld/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
new file mode 100644
index 0000000..71e5f2a
--- /dev/null
+++ b/helloworld/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.apache.dubbo.sample.basic;
+
+import org.apache.dubbo.common.constants.CommonConstants;
+import org.apache.dubbo.config.ApplicationConfig;
+import org.apache.dubbo.config.ReferenceConfig;
+import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.sample.hello.Helloworld;
+
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+public class ApiConsumer {
+ public static void main(String[] args) throws InterruptedException, IOException {
+ ReferenceConfig<IGreeter> ref = new ReferenceConfig<>();
+ ref.setInterface(IGreeter.class);
+ ref.setCheck(false);
+ ref.setProtocol(CommonConstants.TRIPLE);
+ ref.setLazy(true);
+ ref.setTimeout(100000);
+ ref.setApplication(new ApplicationConfig("demo-consumer"));
+ ref.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
+ final IGreeter iGreeter = ref.get();
+
+ System.out.println("dubbo ref started");
+ Helloworld.HelloRequest req = Helloworld.HelloRequest.newBuilder().setName("laurence").build();
+ try {
+ final Helloworld.User reply = iGreeter.sayHello(req);
+ TimeUnit.SECONDS.sleep(1);
+ System.out.println("Reply:" + reply);
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ System.in.read();
+ }
+}
diff --git a/helloworld/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/helloworld/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
new file mode 100644
index 0000000..8722f2c
--- /dev/null
+++ b/helloworld/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
@@ -0,0 +1,31 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.apache.dubbo.sample.basic;
+
+
+import org.apache.dubbo.sample.hello.Helloworld;
+
+public interface IGreeter {
+ /**
+ * <pre>
+ * Sends a greeting
+ * </pre>
+ */
+ Helloworld.User sayHello(Helloworld.HelloRequest request);
+
+}
diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/Consumer.java b/helloworld/java-client/src/main/java/org/apache/dubbo/Consumer.java
deleted file mode 100644
index 0183a67..0000000
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/Consumer.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-
-public class Consumer {
- // Define a private variable (Required in Spring)
- private UserProvider userProvider;
-
- // Spring DI (Required in Spring)
- public void setUserProvider(UserProvider u) {
- this.userProvider = u;
- }
-
- public static void main(String[] args) {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo.consumer.xml","META-INF/spring/service.xml");
- context.start();
- context.getBean(Consumer.class).start();
- }
-
- // Start the entry function for consumer (Specified in the configuration file)
- public void start() {
- System.out.println("\n\ntest");
- testGetUser();
- }
-
- private void testGetUser() {
- try {
- User user1 = userProvider.GetUser("A003");
- System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " +
- " UserInfo, ID:" + user1.getID() + ", name:" + user1.getName()
- + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString());
-
- } catch (Exception e) {
- System.out.println("*************exception***********");
- e.printStackTrace();
- }
- }
-
-}
diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/User.java b/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
deleted file mode 100644
index 36d1b9c..0000000
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/User.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import java.util.Date;
-
-public class User {
-
- private String id;
-
- private String name;
-
- private int age;
-
- private Date time = new Date();
-
-
- public User() {
- }
-
-
- public User(String id, String name, int age) {
- this.id = id;
- this.name = name;
- this.age = age;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public Date getTime() {
- return time;
- }
-
- public void setTime(Date time) {
- this.time = time;
- }
-
-
-}
diff --git a/helloworld/java-client/src/main/java/org/apache/dubbo/UserProvider.java b/helloworld/java-client/src/main/java/org/apache/dubbo/UserProvider.java
deleted file mode 100644
index c719124..0000000
--- a/helloworld/java-client/src/main/java/org/apache/dubbo/UserProvider.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo;
-
-public interface UserProvider {
- User GetUser(String userId);
-}
diff --git a/helloworld/java-client/src/main/proto/helloworld.proto b/helloworld/java-client/src/main/proto/helloworld.proto
new file mode 100644
index 0000000..ee6ca29
--- /dev/null
+++ b/helloworld/java-client/src/main/proto/helloworld.proto
@@ -0,0 +1,28 @@
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+syntax = "proto3";
+
+option java_package = "org.apache.dubbo.sample.hello";
+
+package helloworld;
+
+// The request message containing the user's name.
+message HelloRequest {
+ string name = 1;
+}
+
+// The response message containing the greetings
+message User {
+ string name = 1;
+ string id = 2;
+ int32 age = 3;
+}
diff --git a/helloworld/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/helloworld/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
deleted file mode 100644
index 95fdcb8..0000000
--- a/helloworld/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
-
-
- <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
- <dubbo:application name="user-info-client"/>
- <!-- 连接到哪个本地注册中心 -->
- <dubbo:registry id="demoZk" address="zookeeper://127.0.0.1:2181"/>
- <!-- dubbo.registry.address from dubbo.properties -->
- <!-- dubbo:registry address="${dubbo.registry.address}" / -->
-
- <!-- 用dubbo协议在20880端口暴露服务 -->
- <dubbo:protocol id="dubbo" name="dubbo"/>
- <dubbo:protocol id="jsonrpc" name="jsonrpc"/>
-
- <!-- 声明需要使用的服务接口 -->
- <dubbo:reference registry="demoZk" check="false" id="userProvider" protocol="dubbo"
- interface="org.apache.dubbo.UserProvider">
- <!--<dubbo:parameter key="heartbeat" value="10000"/ -->
- </dubbo:reference>
-</beans>
diff --git a/helloworld/java-client/src/main/resources/META-INF/spring/service.xml b/helloworld/java-client/src/main/resources/META-INF/spring/service.xml
deleted file mode 100644
index bdcc57f..0000000
--- a/helloworld/java-client/src/main/resources/META-INF/spring/service.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
- <bean class="org.apache.dubbo.Consumer" init-method="start">
- <!-- 声明这个类 要使用的服务名-->
- <property name="userProvider" ref="userProvider"/>
- </bean>
-
-</beans>
diff --git a/helloworld/java-client/src/main/resources/dubbo.properties b/helloworld/java-client/src/main/resources/dubbo.properties
deleted file mode 100644
index 5ae386d..0000000
--- a/helloworld/java-client/src/main/resources/dubbo.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-### dubboע���������� ###
-dubbo.container=log4j,spring
-dubbo.application.name=user-info-client
-dubbo.application.owner=AlexStocks
-dubbo.application.environment=product
-dubbo.registry.address=zookeeper://127.0.0.1:2181
-dubbo.monitor.protocol=zookeeper
-dubbo.consumer.timeout=10000
-dubbo.provider.timeout=10000
-dubbo.protocol.name=dubbo
-dubbo.log4j.file=logs/client.log
-dubbo.log4j.level=WARN
diff --git a/helloworld/java-client/src/main/resources/log4j.properties b/helloworld/java-client/src/main/resources/log4j.properties
index 02748ae..6b82aba 100644
--- a/helloworld/java-client/src/main/resources/log4j.properties
+++ b/helloworld/java-client/src/main/resources/log4j.properties
@@ -1,16 +1,26 @@
-## Logger configure file for myproject
-log.dir=logs/
-datestamp=yyyy-MM-dd/HH:mm:ss.SSS
-log4j.rootLogger=DEBUG, file, console
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.threshold=DEBUG
-log4j.appender.file.File=${log.dir}/log4j.log
-log4j.appender.file.DatePattern=-yyyyMMddHH
-log4j.appender.file.ImmediateFlush=true
-log4j.appender.file.Append=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.Threshold=DEBUG
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+###set log levels###
+log4j.rootLogger=debug, stdout
+###output to the console###
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy hh:mm:ss:sss z}] %t %5p %c{2}: %m%n
\ No newline at end of file
diff --git a/helloworld/java-server/build.sh b/helloworld/java-server/build.sh
deleted file mode 100644
index 7b5755b..0000000
--- a/helloworld/java-server/build.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# mvn dependency:sources
-mvn clean package -Dmaven.test.skip
-# mvn -X clean compile package -DskipTests=true
diff --git a/helloworld/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/helloworld/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
new file mode 100644
index 0000000..99758ac
--- /dev/null
+++ b/helloworld/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
@@ -0,0 +1,1432 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: helloworld.proto
+
+package org.apache.dubbo.sample.hello;
+
+public final class Helloworld {
+ private Helloworld() {}
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistryLite registry) {
+ }
+
+ public static void registerAllExtensions(
+ com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions(
+ (com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+ public interface HelloRequestOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:helloworld.HelloRequest)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+ }
+ /**
+ * <pre>
+ * The request message containing the user's name.
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.HelloRequest}
+ */
+ public static final class HelloRequest extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:helloworld.HelloRequest)
+ HelloRequestOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use HelloRequest.newBuilder() to construct.
+ private HelloRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private HelloRequest() {
+ name_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new HelloRequest();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private HelloRequest(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest.class, org.apache.dubbo.sample.hello.Helloworld.HelloRequest.Builder.class);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof org.apache.dubbo.sample.hello.Helloworld.HelloRequest)) {
+ return super.equals(obj);
+ }
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest other = (org.apache.dubbo.sample.hello.Helloworld.HelloRequest) obj;
+
+ if (!getName()
+ .equals(other.getName())) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(org.apache.dubbo.sample.hello.Helloworld.HelloRequest prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * The request message containing the user's name.
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.HelloRequest}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:helloworld.HelloRequest)
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequestOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest.class, org.apache.dubbo.sample.hello.Helloworld.HelloRequest.Builder.class);
+ }
+
+ // Construct using org.apache.dubbo.sample.hello.Helloworld.HelloRequest.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_HelloRequest_descriptor;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest getDefaultInstanceForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.HelloRequest.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest build() {
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest buildPartial() {
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest result = new org.apache.dubbo.sample.hello.Helloworld.HelloRequest(this);
+ result.name_ = name_;
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof org.apache.dubbo.sample.hello.Helloworld.HelloRequest) {
+ return mergeFrom((org.apache.dubbo.sample.hello.Helloworld.HelloRequest)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(org.apache.dubbo.sample.hello.Helloworld.HelloRequest other) {
+ if (other == org.apache.dubbo.sample.hello.Helloworld.HelloRequest.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ org.apache.dubbo.sample.hello.Helloworld.HelloRequest parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (org.apache.dubbo.sample.hello.Helloworld.HelloRequest) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object name_ = "";
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:helloworld.HelloRequest)
+ }
+
+ // @@protoc_insertion_point(class_scope:helloworld.HelloRequest)
+ private static final org.apache.dubbo.sample.hello.Helloworld.HelloRequest DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new org.apache.dubbo.sample.hello.Helloworld.HelloRequest();
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.HelloRequest getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<HelloRequest>
+ PARSER = new com.google.protobuf.AbstractParser<HelloRequest>() {
+ @java.lang.Override
+ public HelloRequest parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new HelloRequest(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<HelloRequest> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<HelloRequest> getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.HelloRequest getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ public interface UserOrBuilder extends
+ // @@protoc_insertion_point(interface_extends:helloworld.User)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ java.lang.String getName();
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ com.google.protobuf.ByteString
+ getNameBytes();
+
+ /**
+ * <code>string id = 2;</code>
+ * @return The id.
+ */
+ java.lang.String getId();
+ /**
+ * <code>string id = 2;</code>
+ * @return The bytes for id.
+ */
+ com.google.protobuf.ByteString
+ getIdBytes();
+
+ /**
+ * <code>int32 age = 3;</code>
+ * @return The age.
+ */
+ int getAge();
+ }
+ /**
+ * <pre>
+ * The response message containing the greetings
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.User}
+ */
+ public static final class User extends
+ com.google.protobuf.GeneratedMessageV3 implements
+ // @@protoc_insertion_point(message_implements:helloworld.User)
+ UserOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use User.newBuilder() to construct.
+ private User(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
+ super(builder);
+ }
+ private User() {
+ name_ = "";
+ id_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new User();
+ }
+
+ @java.lang.Override
+ public final com.google.protobuf.UnknownFieldSet
+ getUnknownFields() {
+ return this.unknownFields;
+ }
+ private User(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ this();
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ com.google.protobuf.UnknownFieldSet.Builder unknownFields =
+ com.google.protobuf.UnknownFieldSet.newBuilder();
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ name_ = s;
+ break;
+ }
+ case 18: {
+ java.lang.String s = input.readStringRequireUtf8();
+
+ id_ = s;
+ break;
+ }
+ case 24: {
+
+ age_ = input.readInt32();
+ break;
+ }
+ default: {
+ if (!parseUnknownField(
+ input, unknownFields, extensionRegistry, tag)) {
+ done = true;
+ }
+ break;
+ }
+ }
+ }
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(this);
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(
+ e).setUnfinishedMessage(this);
+ } finally {
+ this.unknownFields = unknownFields.build();
+ makeExtensionsImmutable();
+ }
+ }
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.User.class, org.apache.dubbo.sample.hello.Helloworld.User.Builder.class);
+ }
+
+ public static final int NAME_FIELD_NUMBER = 1;
+ private volatile java.lang.Object name_;
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ @java.lang.Override
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int ID_FIELD_NUMBER = 2;
+ private volatile java.lang.Object id_;
+ /**
+ * <code>string id = 2;</code>
+ * @return The id.
+ */
+ @java.lang.Override
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ id_ = s;
+ return s;
+ }
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @return The bytes for id.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int AGE_FIELD_NUMBER = 3;
+ private int age_;
+ /**
+ * <code>int32 age = 3;</code>
+ * @return The age.
+ */
+ @java.lang.Override
+ public int getAge() {
+ return age_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (!getNameBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
+ }
+ if (!getIdBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, id_);
+ }
+ if (age_ != 0) {
+ output.writeInt32(3, age_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getNameBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
+ }
+ if (!getIdBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, id_);
+ }
+ if (age_ != 0) {
+ size += com.google.protobuf.CodedOutputStream
+ .computeInt32Size(3, age_);
+ }
+ size += unknownFields.getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof org.apache.dubbo.sample.hello.Helloworld.User)) {
+ return super.equals(obj);
+ }
+ org.apache.dubbo.sample.hello.Helloworld.User other = (org.apache.dubbo.sample.hello.Helloworld.User) obj;
+
+ if (!getName()
+ .equals(other.getName())) return false;
+ if (!getId()
+ .equals(other.getId())) return false;
+ if (getAge()
+ != other.getAge()) return false;
+ if (!unknownFields.equals(other.unknownFields)) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getName().hashCode();
+ hash = (37 * hash) + ID_FIELD_NUMBER;
+ hash = (53 * hash) + getId().hashCode();
+ hash = (37 * hash) + AGE_FIELD_NUMBER;
+ hash = (53 * hash) + getAge();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ java.nio.ByteBuffer data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ byte[] data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input);
+ }
+ public static org.apache.dubbo.sample.hello.Helloworld.User parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3
+ .parseWithIOException(PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() { return newBuilder(); }
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+ public static Builder newBuilder(org.apache.dubbo.sample.hello.Helloworld.User prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE
+ ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ * <pre>
+ * The response message containing the greetings
+ * </pre>
+ *
+ * Protobuf type {@code helloworld.User}
+ */
+ public static final class Builder extends
+ com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
+ // @@protoc_insertion_point(builder_implements:helloworld.User)
+ org.apache.dubbo.sample.hello.Helloworld.UserOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor
+ getDescriptor() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ org.apache.dubbo.sample.hello.Helloworld.User.class, org.apache.dubbo.sample.hello.Helloworld.User.Builder.class);
+ }
+
+ // Construct using org.apache.dubbo.sample.hello.Helloworld.User.newBuilder()
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
+
+ private Builder(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ maybeForceBuilderInitialization();
+ }
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3
+ .alwaysUseFieldBuilders) {
+ }
+ }
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ name_ = "";
+
+ id_ = "";
+
+ age_ = 0;
+
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor
+ getDescriptorForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.internal_static_helloworld_User_descriptor;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User getDefaultInstanceForType() {
+ return org.apache.dubbo.sample.hello.Helloworld.User.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User build() {
+ org.apache.dubbo.sample.hello.Helloworld.User result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User buildPartial() {
+ org.apache.dubbo.sample.hello.Helloworld.User result = new org.apache.dubbo.sample.hello.Helloworld.User(this);
+ result.name_ = name_;
+ result.id_ = id_;
+ result.age_ = age_;
+ onBuilt();
+ return result;
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.setField(field, value);
+ }
+ @java.lang.Override
+ public Builder clearField(
+ com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+ @java.lang.Override
+ public Builder clearOneof(
+ com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field,
+ java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof org.apache.dubbo.sample.hello.Helloworld.User) {
+ return mergeFrom((org.apache.dubbo.sample.hello.Helloworld.User)other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(org.apache.dubbo.sample.hello.Helloworld.User other) {
+ if (other == org.apache.dubbo.sample.hello.Helloworld.User.getDefaultInstance()) return this;
+ if (!other.getName().isEmpty()) {
+ name_ = other.name_;
+ onChanged();
+ }
+ if (!other.getId().isEmpty()) {
+ id_ = other.id_;
+ onChanged();
+ }
+ if (other.getAge() != 0) {
+ setAge(other.getAge());
+ }
+ this.mergeUnknownFields(other.unknownFields);
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ org.apache.dubbo.sample.hello.Helloworld.User parsedMessage = null;
+ try {
+ parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ parsedMessage = (org.apache.dubbo.sample.hello.Helloworld.User) e.getUnfinishedMessage();
+ throw e.unwrapIOException();
+ } finally {
+ if (parsedMessage != null) {
+ mergeFrom(parsedMessage);
+ }
+ }
+ return this;
+ }
+
+ private java.lang.Object name_ = "";
+ /**
+ * <code>string name = 1;</code>
+ * @return The name.
+ */
+ public java.lang.String getName() {
+ java.lang.Object ref = name_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ name_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return The bytes for name.
+ */
+ public com.google.protobuf.ByteString
+ getNameBytes() {
+ java.lang.Object ref = name_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ name_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setName(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearName() {
+
+ name_ = getDefaultInstance().getName();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
+ */
+ public Builder setNameBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ name_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object id_ = "";
+ /**
+ * <code>string id = 2;</code>
+ * @return The id.
+ */
+ public java.lang.String getId() {
+ java.lang.Object ref = id_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs =
+ (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ id_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @return The bytes for id.
+ */
+ public com.google.protobuf.ByteString
+ getIdBytes() {
+ java.lang.Object ref = id_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8(
+ (java.lang.String) ref);
+ id_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @param value The id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setId(
+ java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ id_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearId() {
+
+ id_ = getDefaultInstance().getId();
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>string id = 2;</code>
+ * @param value The bytes for id to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIdBytes(
+ com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ id_ = value;
+ onChanged();
+ return this;
+ }
+
+ private int age_ ;
+ /**
+ * <code>int32 age = 3;</code>
+ * @return The age.
+ */
+ @java.lang.Override
+ public int getAge() {
+ return age_;
+ }
+ /**
+ * <code>int32 age = 3;</code>
+ * @param value The age to set.
+ * @return This builder for chaining.
+ */
+ public Builder setAge(int value) {
+
+ age_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ * <code>int32 age = 3;</code>
+ * @return This builder for chaining.
+ */
+ public Builder clearAge() {
+
+ age_ = 0;
+ onChanged();
+ return this;
+ }
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+
+ // @@protoc_insertion_point(builder_scope:helloworld.User)
+ }
+
+ // @@protoc_insertion_point(class_scope:helloworld.User)
+ private static final org.apache.dubbo.sample.hello.Helloworld.User DEFAULT_INSTANCE;
+ static {
+ DEFAULT_INSTANCE = new org.apache.dubbo.sample.hello.Helloworld.User();
+ }
+
+ public static org.apache.dubbo.sample.hello.Helloworld.User getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser<User>
+ PARSER = new com.google.protobuf.AbstractParser<User>() {
+ @java.lang.Override
+ public User parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return new User(input, extensionRegistry);
+ }
+ };
+
+ public static com.google.protobuf.Parser<User> parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser<User> getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public org.apache.dubbo.sample.hello.Helloworld.User getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+
+ }
+
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_helloworld_HelloRequest_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_helloworld_HelloRequest_fieldAccessorTable;
+ private static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_helloworld_User_descriptor;
+ private static final
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_helloworld_User_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor
+ getDescriptor() {
+ return descriptor;
+ }
+ private static com.google.protobuf.Descriptors.FileDescriptor
+ descriptor;
+ static {
+ java.lang.String[] descriptorData = {
+ "\n\020helloworld.proto\022\nhelloworld\"\034\n\014HelloR" +
+ "equest\022\014\n\004name\030\001 \001(\t\"-\n\004User\022\014\n\004name\030\001 \001" +
+ "(\t\022\n\n\002id\030\002 \001(\t\022\013\n\003age\030\003 \001(\005B\037\n\035org.apach" +
+ "e.dubbo.sample.hellob\006proto3"
+ };
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
+ .internalBuildGeneratedFileFrom(descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ });
+ internal_static_helloworld_HelloRequest_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_helloworld_HelloRequest_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_helloworld_HelloRequest_descriptor,
+ new java.lang.String[] { "Name", });
+ internal_static_helloworld_User_descriptor =
+ getDescriptor().getMessageTypes().get(1);
+ internal_static_helloworld_User_fieldAccessorTable = new
+ com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_helloworld_User_descriptor,
+ new java.lang.String[] { "Name", "Id", "Age", });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/helloworld/java-server/pom.xml b/helloworld/java-server/pom.xml
index e299ade..dd518ca 100644
--- a/helloworld/java-server/pom.xml
+++ b/helloworld/java-server/pom.xml
@@ -1,188 +1,161 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <groupId>org.apache.dubbo</groupId>
+ <version>1.0-SNAPSHOT</version>
+
<modelVersion>4.0.0</modelVersion>
- <groupId>com.ikurento</groupId>
- <artifactId>user-info-server</artifactId>
- <packaging>jar</packaging>
- <version>0.2.0</version>
- <description>The demo provider module of dubbo project</description>
- <properties>
- <skip_maven_deploy>false</skip_maven_deploy>
+ <artifactId>dubbo-samples-triple</artifactId>
- <dubbo-version>2.6.5</dubbo-version>
- <dubbo-jsonrpc-version>1.0.1</dubbo-jsonrpc-version>
+ <properties>
+ <source.level>1.8</source.level>
+ <target.level>1.8</target.level>
+ <dubbo.version>3.0.0</dubbo.version>
+ <junit.version>4.12</junit.version>
+ <spring-test.version>4.3.16.RELEASE</spring-test.version>
+ <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
+ <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
+ <spring-boot.version>1.5.13.RELEASE</spring-boot.version>
+ <grpc.version>1.19.0</grpc.version>
+ <protoc.version>3.7.1</protoc.version>
</properties>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo-dependencies-bom</artifactId>
- <version>${dubbo-version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- <version>1.7.25</version>
- </dependency>
-
- <dependency>
- <groupId>com.alibaba</groupId>
+ <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
- <version>${dubbo-version}</version>
- <exclusions>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
+ <version>${dubbo.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <version>2.12.0</version>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>3.14.0</version>
</dependency>
-
<dependency>
- <groupId>com.qianmi</groupId>
- <artifactId>dubbo-rpc-jsonrpc</artifactId>
- <version>${dubbo-jsonrpc-version}</version>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-dependencies-zookeeper</artifactId>
+ <version>${dubbo.version}</version>
+ <type>pom</type>
<exclusions>
<exclusion>
- <groupId>org.springframework</groupId>
- <artifactId>spring</artifactId>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
-
- <dependency>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty</artifactId>
- <version>6.1.26</version>
- </dependency>
-
<dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-core</artifactId>
- <version>2.10.0</version>
+ <groupId>org.apache.zookeeper</groupId>
+ <artifactId>zookeeper</artifactId>
+ <version>3.4.8</version>
</dependency>
<dependency>
- <groupId>com.fasterxml.jackson.core</groupId>
- <artifactId>jackson-databind</artifactId>
- <version>2.10.0</version>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
</dependency>
-
<dependency>
- <groupId>com.github.sgroschupf</groupId>
- <artifactId>zkclient</artifactId>
- <version>0.1</version>
- <exclusions>
- <exclusion>
- <artifactId>org.apache.zookeeper</artifactId>
- <groupId>zookeeper</groupId>
- </exclusion>
- </exclusions>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ <version>${spring-test.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- <version>3.4.14</version>
+ <groupId>org.testcontainers</groupId>
+ <artifactId>testcontainers</artifactId>
+ <version>1.12.3</version>
+ <scope>test</scope>
</dependency>
-
</dependencies>
- <repositories>
- <repository>
- <id>nexus-aliyu</id>
- <url>https://maven.aliyun.com/nexus/content/groups/public</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>nexus-aliyu</id>
- <url>https://maven.aliyun.com/nexus/content/groups/public</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
+ <profiles>
+ <!-- For jdk 11 above JavaEE annotation -->
+ <profile>
+ <id>javax.annotation</id>
+ <activation>
+ <jdk>[1.11,)</jdk>
+ </activation>
+ <dependencies>
+ <dependency>
+ <groupId>javax.annotation</groupId>
+ <artifactId>javax.annotation-api</artifactId>
+ <version>1.3.2</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
<build>
+ <defaultGoal>package</defaultGoal>
+ <extensions>
+ <extension>
+ <groupId>kr.motd.maven</groupId>
+ <artifactId>os-maven-plugin</artifactId>
+ <version>1.6.1</version>
+ </extension>
+ </extensions>
<plugins>
<plugin>
- <artifactId>maven-dependency-plugin</artifactId>
+ <groupId>org.xolstice.maven.plugins</groupId>
+ <artifactId>protobuf-maven-plugin</artifactId>
+ <version>0.6.1</version>
+ <configuration>
+ <protocArtifact>com.google.protobuf:protoc:3.17.3:exe:${os.detected.classifier}</protocArtifact>
+ <pluginId>triple-java</pluginId>
+ <outputDirectory>build/generated/source/proto/main/java</outputDirectory>
+ </configuration>
<executions>
<execution>
- <id>unpack</id>
- <phase>package</phase>
<goals>
- <goal>unpack</goal>
+ <goal>compile</goal>
+ <goal>test-compile</goal>
</goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo</artifactId>
- <version>${dubbo-version}</version>
- <outputDirectory>${project.build.directory}/dubbo</outputDirectory>
- <includes>META-INF/assembly/**</includes>
- </artifactItem>
- </artifactItems>
- </configuration>
</execution>
</executions>
</plugin>
-
<plugin>
- <artifactId>maven-assembly-plugin</artifactId>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven-compiler-plugin.version}</version>
+ <configuration>
+ <source>${source.level}</source>
+ <target>${target.level}</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
- <id>make-assembly</id>
- <phase>package</phase>
+ <phase>generate-sources</phase>
<goals>
- <goal>single</goal>
+ <goal>add-source</goal>
</goals>
<configuration>
- <descriptors>
- <descriptor>src/main/assembly/assembly.xml</descriptor>
- </descriptors>
+ <sources>
+ <source>build/generated/source/proto/main/java</source>
+ </sources>
</configuration>
</execution>
</executions>
@@ -190,7 +163,4 @@
</plugins>
</build>
-
-</project>
-
-
+</project>
\ No newline at end of file
diff --git a/helloworld/java-server/run.sh b/helloworld/java-server/run.sh
new file mode 100644
index 0000000..939b13d
--- /dev/null
+++ b/helloworld/java-server/run.sh
@@ -0,0 +1,2 @@
+mvn install -DSkipTests
+mvn exec:java -Dexec.mainClass="com.apache.dubbo.sample.basic.ApiProvider"
\ No newline at end of file
diff --git a/helloworld/java-server/script/debug.sh b/helloworld/java-server/script/debug.sh
deleted file mode 100644
index 851957a..0000000
--- a/helloworld/java-server/script/debug.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/usr/bin/env bash
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements. See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-# jdb -classpath /Users/alex/tmp/us/conf:/Users/alex/tmp/us/lib/*:/Users/alex/test/java/dubbo/2.5.4/dubbo-remoting/dubbo-remoting-api/src/main/java/ com.alibaba.dubbo.container.Main
-jdb -classpath /Users/alex/tmp/us/conf:/Users/alex/tmp/us/lib/* -sourcepath /Users/alex/test/java/dubbo/2.5.4/dubbo-remoting/dubbo-remoting-api/src/main/java/:/Users/alex/tmp/java-server/src/main/java com.alibaba.dubbo.container.Main
-# jdb stop at com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec:76
-# run
-
diff --git a/helloworld/java-server/src/main/assembly/assembly.xml b/helloworld/java-server/src/main/assembly/assembly.xml
deleted file mode 100644
index 60df0c5..0000000
--- a/helloworld/java-server/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<assembly>
- <id>assembly</id>
- <formats>
- <format>tar.gz</format>
- </formats>
- <includeBaseDirectory>true</includeBaseDirectory>
- <fileSets>
- <fileSet>
- <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory>
- <outputDirectory>bin</outputDirectory>
- <fileMode>0755</fileMode>
- <directoryMode>0755</directoryMode>
- </fileSet>
- <fileSet>
- <directory>src/main/resources</directory>
- <includes>
- <include>dubbo.properties</include>
- <include>log4j.*</include>
- </includes>
- <outputDirectory>conf</outputDirectory>
- <fileMode>0644</fileMode>
- <directoryMode>0755</directoryMode>
- </fileSet>
- </fileSets>
- <dependencySets>
- <dependencySet>
- <outputDirectory>lib</outputDirectory>
- </dependencySet>
- </dependencySets>
-</assembly>
\ No newline at end of file
diff --git a/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java b/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
new file mode 100644
index 0000000..e052dcb
--- /dev/null
+++ b/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.apache.dubbo.sample.basic;
+
+import org.apache.dubbo.common.constants.CommonConstants;
+import org.apache.dubbo.config.ApplicationConfig;
+import org.apache.dubbo.config.ProtocolConfig;
+import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.ServiceConfig;
+import java.util.concurrent.CountDownLatch;
+
+public class ApiProvider {
+ public static void main(String[] args) throws InterruptedException {
+ ServiceConfig<IGreeter> service = new ServiceConfig<>();
+ service.setInterface(IGreeter.class);
+ service.setRef(new IGreeter1Impl());
+ service.setProtocol(new ProtocolConfig(CommonConstants.TRIPLE, 50051));
+ service.setApplication(new ApplicationConfig("demo-provider"));
+ service.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
+ service.export();
+ System.out.println("dubbo service started");
+ new CountDownLatch(1).await();
+ }
+}
diff --git a/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
new file mode 100644
index 0000000..e8aa2fe
--- /dev/null
+++ b/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.apache.dubbo.sample.basic;
+
+import org.apache.dubbo.sample.hello.Helloworld;
+
+public interface IGreeter {
+ /**
+ * <pre>
+ * Sends a greeting
+ * </pre>
+ */
+ Helloworld.User sayHello(Helloworld.HelloRequest request);
+
+}
diff --git a/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java b/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
new file mode 100644
index 0000000..dfb1ac8
--- /dev/null
+++ b/helloworld/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.apache.dubbo.sample.basic;
+
+
+import org.apache.dubbo.sample.hello.Helloworld.User;
+import org.apache.dubbo.sample.hello.Helloworld.HelloRequest;
+
+public class IGreeter1Impl implements IGreeter {
+ @Override
+ public User sayHello(HelloRequest request) {
+ System.out.println("receiv: " + request);
+ User usr = User.newBuilder()
+ .setName("hello " + request.getName())
+ .setAge(18)
+ .setId("12345").build();
+ return usr;
+ }
+}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/Provider.java b/helloworld/java-server/src/main/java/org/apache/dubbo/Provider.java
deleted file mode 100644
index a50220a..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/Provider.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo;
-
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-public class Provider {
-
- /**
- * To get ipv6 address to work, add
- * System.setProperty("java.net.preferIPv6Addresses", "true");
- * before running your application.
- */
- public static void main(String[] args) throws Exception {
- ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/dubbo.provider.xml"});
- context.start();
- System.in.read(); // press any key to exit
- }
-}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/User.java b/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
deleted file mode 100644
index 8483880..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/User.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import java.util.Date;
-import java.io.Serializable;
-
-public class User implements Serializable {
-
- private String id;
-
- private String name;
-
- private int age;
-
- private Date time = new Date();
-
- public User() {
- }
-
- public User(String id, String name, int age) {
- this.id = id;
- this.name = name;
- this.age = age;
- }
-
- public User(String id, String name, int age, Date time) {
- this.id = id;
- this.name = name;
- this.age = age;
- this.time = time;
- }
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public Date getTime() {
- return time;
- }
-
- public void setTime(Date time) {
- this.time = time;
- }
-
-
-
- public String toString() {
- return "User{id:" + id + ", name:" + name + ", age:" + age + ", time:" + time +"}";
- }
-}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProvider.java b/helloworld/java-server/src/main/java/org/apache/dubbo/UserProvider.java
deleted file mode 100644
index d07a757..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProvider.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-public interface UserProvider {
-
- User GetUser(String userId); // the first alpha is Upper case to compatible with golang.
-
-}
diff --git a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java b/helloworld/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
deleted file mode 100644
index 74a6c09..0000000
--- a/helloworld/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dubbo;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UserProviderImpl implements UserProvider {
- private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); //Output to user-server.log
-
- public User GetUser(String userId) {
- return new User(userId, "zhangsan", 18);
- }
-
-}
diff --git a/helloworld/java-server/src/main/proto/helloworld.proto b/helloworld/java-server/src/main/proto/helloworld.proto
new file mode 100644
index 0000000..ee6ca29
--- /dev/null
+++ b/helloworld/java-server/src/main/proto/helloworld.proto
@@ -0,0 +1,28 @@
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+syntax = "proto3";
+
+option java_package = "org.apache.dubbo.sample.hello";
+
+package helloworld;
+
+// The request message containing the user's name.
+message HelloRequest {
+ string name = 1;
+}
+
+// The response message containing the greetings
+message User {
+ string name = 1;
+ string id = 2;
+ int32 age = 3;
+}
diff --git a/helloworld/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/helloworld/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
deleted file mode 100644
index 2d01d66..0000000
--- a/helloworld/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
-
- <!-- 应用名 -->
- <dubbo:application name="user-info-server"/>
- <!-- 连接到哪个本地注册中心 -->
- <dubbo:registry id="demoZk" address="zookeeper://127.0.0.1:2181"/>
- <!-- 用dubbo协议在20880端口暴露服务 -->
- <!-- dubbo:protocol host="127.0.0.1" / -->
- <dubbo:protocol id="dubbo" name="dubbo" host="127.0.0.1" port="20010"/>
- <!-- 声明需要暴露的服务接口 -->
- <dubbo:service id="aaa" registry="demoZk" timeout="3000" interface="org.apache.dubbo.UserProvider"
- ref="demoService"/>
-
- <bean id="demoService" class="org.apache.dubbo.UserProviderImpl"/>
-
-</beans>
diff --git a/helloworld/java-server/src/main/resources/dubbo.properties b/helloworld/java-server/src/main/resources/dubbo.properties
deleted file mode 100644
index 37df62e..0000000
--- a/helloworld/java-server/src/main/resources/dubbo.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-### dubbo注册中心配置 ##
-dubbo.container=log4j,spring
-dubbo.application.name=user-info-server
-dubbo.application.environment=product
-dubbo.application.owner=AlexStocks
-dubbo.registry.address=127.0.0.1:2181
-dubbo.registry.protocol=zookeeper
-dubbo.consumer.timeout=10000
-dubbo.provider.timeout=10000
-dubbo.protocol.name=dubbo
-dubbo.protocol.port=10000
-dubbo.log4j.file=logs/dubbo.log
-dubbo.log4j.level=INFO
diff --git a/helloworld/java-server/src/main/resources/log4j.properties b/helloworld/java-server/src/main/resources/log4j.properties
index e2d0517..6b82aba 100644
--- a/helloworld/java-server/src/main/resources/log4j.properties
+++ b/helloworld/java-server/src/main/resources/log4j.properties
@@ -1,17 +1,26 @@
-## Logger configure file for myproject
-log.dir=logs/
-datestamp=yyyy-MM-dd/HH:mm:ss.SSS
-log4j.rootLogger=DEBUG, file, console
-log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
-log4j.appender.file.threshold=DEBUG
-log4j.appender.file.File=${log.dir}/log4j.log
-log4j.appender.file.DatePattern=-yyyyMMddHH
-log4j.appender.file.ImmediateFlush=true
-log4j.appender.file.Append=true
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
-log4j.appender.console=org.apache.log4j.ConsoleAppender
-log4j.appender.console.Threshold=DEBUG
-log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+###set log levels###
+log4j.rootLogger=debug, stdout
+###output to the console###
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy hh:mm:ss:sss z}] %t %5p %c{2}: %m%n
\ No newline at end of file
diff --git a/helloworld/protobuf/helloworld.pb.go b/helloworld/protobuf/helloworld.pb.go
new file mode 100644
index 0000000..89625a4
--- /dev/null
+++ b/helloworld/protobuf/helloworld.pb.go
@@ -0,0 +1,323 @@
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// source: helloworld.proto
+
+package protobuf
+
+import (
+ context "context"
+ fmt "fmt"
+ math "math"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/protocol"
+ dgrpc "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
+ "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
+
+ tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
+ dubbo3 "github.com/dubbogo/triple/pkg/triple"
+
+ proto "github.com/golang/protobuf/proto"
+
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+
+ status "google.golang.org/grpc/status"
+)
+
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
+
+// The request message containing the user's name.
+type HelloRequest struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *HelloRequest) Reset() { *m = HelloRequest{} }
+func (m *HelloRequest) String() string { return proto.CompactTextString(m) }
+func (*HelloRequest) ProtoMessage() {}
+func (*HelloRequest) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17b8c58d586b62f2, []int{0}
+}
+
+func (m *HelloRequest) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_HelloRequest.Unmarshal(m, b)
+}
+func (m *HelloRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_HelloRequest.Marshal(b, m, deterministic)
+}
+func (m *HelloRequest) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_HelloRequest.Merge(m, src)
+}
+func (m *HelloRequest) XXX_Size() int {
+ return xxx_messageInfo_HelloRequest.Size(m)
+}
+func (m *HelloRequest) XXX_DiscardUnknown() {
+ xxx_messageInfo_HelloRequest.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_HelloRequest proto.InternalMessageInfo
+
+func (m *HelloRequest) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+// The response message containing the greetings
+type User struct {
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
+ Age int32 `protobuf:"varint,3,opt,name=age,proto3" json:"age,omitempty"`
+ XXX_NoUnkeyedLiteral struct{} `json:"-"`
+ XXX_unrecognized []byte `json:"-"`
+ XXX_sizecache int32 `json:"-"`
+}
+
+func (m *User) Reset() { *m = User{} }
+func (m *User) String() string { return proto.CompactTextString(m) }
+func (*User) ProtoMessage() {}
+func (*User) Descriptor() ([]byte, []int) {
+ return fileDescriptor_17b8c58d586b62f2, []int{1}
+}
+
+func (m *User) XXX_Unmarshal(b []byte) error {
+ return xxx_messageInfo_User.Unmarshal(m, b)
+}
+func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
+ return xxx_messageInfo_User.Marshal(b, m, deterministic)
+}
+func (m *User) XXX_Merge(src proto.Message) {
+ xxx_messageInfo_User.Merge(m, src)
+}
+func (m *User) XXX_Size() int {
+ return xxx_messageInfo_User.Size(m)
+}
+func (m *User) XXX_DiscardUnknown() {
+ xxx_messageInfo_User.DiscardUnknown(m)
+}
+
+var xxx_messageInfo_User proto.InternalMessageInfo
+
+func (m *User) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *User) GetId() string {
+ if m != nil {
+ return m.Id
+ }
+ return ""
+}
+
+func (m *User) GetAge() int32 {
+ if m != nil {
+ return m.Age
+ }
+ return 0
+}
+
+func init() {
+ proto.RegisterType((*HelloRequest)(nil), "protobuf.HelloRequest")
+ proto.RegisterType((*User)(nil), "protobuf.User")
+}
+
+func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_17b8c58d586b62f2) }
+
+var fileDescriptor_17b8c58d586b62f2 = []byte{
+ // 160 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0x48, 0xcd, 0xc9,
+ 0xc9, 0x2f, 0xcf, 0x2f, 0xca, 0x49, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53,
+ 0x49, 0xa5, 0x69, 0x4a, 0x4a, 0x5c, 0x3c, 0x1e, 0x20, 0xd9, 0xa0, 0xd4, 0xc2, 0xd2, 0xd4, 0xe2,
+ 0x12, 0x21, 0x21, 0x2e, 0x96, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20,
+ 0x30, 0x5b, 0xc9, 0x86, 0x8b, 0x25, 0xb4, 0x38, 0xb5, 0x08, 0x9b, 0x9c, 0x10, 0x1f, 0x17, 0x53,
+ 0x66, 0x8a, 0x04, 0x13, 0x58, 0x84, 0x29, 0x33, 0x45, 0x48, 0x80, 0x8b, 0x39, 0x31, 0x3d, 0x55,
+ 0x82, 0x59, 0x81, 0x51, 0x83, 0x35, 0x08, 0xc4, 0x34, 0xb2, 0xe7, 0x62, 0x77, 0x2f, 0x4a, 0x4d,
+ 0x2d, 0x49, 0x2d, 0x12, 0x32, 0xe1, 0xe2, 0x08, 0x4e, 0xac, 0x04, 0xdb, 0x27, 0x24, 0xa6, 0x07,
+ 0x73, 0x83, 0x1e, 0xb2, 0x03, 0xa4, 0xf8, 0x10, 0xe2, 0x20, 0x4b, 0x95, 0x18, 0x92, 0xd8, 0xc0,
+ 0x02, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xdb, 0xd1, 0x8b, 0xc7, 0x00, 0x00, 0x00,
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// GreeterClient is the client API for Greeter service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GreeterClient interface {
+ // Sends a greeting
+ SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error)
+}
+
+type greeterClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient {
+ return &greeterClient{cc}
+}
+
+func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
+ out := new(User)
+ err := c.cc.Invoke(ctx, "/protobuf.Greeter/SayHello", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// GreeterServer is the server API for Greeter service.
+type GreeterServer interface {
+ // Sends a greeting
+ SayHello(context.Context, *HelloRequest) (*User, error)
+}
+
+// UnimplementedGreeterServer can be embedded to have forward compatible implementations.
+type UnimplementedGreeterServer struct {
+}
+
+func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*User, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
+}
+
+func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {
+ s.RegisterService(&_Greeter_serviceDesc, srv)
+}
+
+func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(HelloRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(GreeterServer).SayHello(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/protobuf.Greeter/SayHello",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _Greeter_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "protobuf.Greeter",
+ HandlerType: (*GreeterServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "SayHello",
+ Handler: _Greeter_SayHello_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "helloworld.proto",
+}
+
+type greeterDubbo3Client struct {
+ cc *dubbo3.TripleConn
+}
+
+func NewGreeterDubbo3Client(cc *dubbo3.TripleConn) GreeterClient {
+ return &greeterDubbo3Client{cc}
+}
+func (c *greeterDubbo3Client) SayHello(ctx context.Context, in *HelloRequest, opt ...grpc.CallOption) (*User, error) {
+ out := new(User)
+ interfaceKey := ctx.Value(tripleConstant.InterfaceKey).(string)
+ err := c.cc.Invoke(ctx, "/"+interfaceKey+"/SayHello", in, out)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// GreeterClientImpl is the client API for Greeter service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GreeterClientImpl struct {
+ // Sends a greeting
+ SayHello func(ctx context.Context, in *HelloRequest, out *User) error
+}
+
+func (c *GreeterClientImpl) Reference() string {
+ return "greeterImpl"
+}
+
+func (c *GreeterClientImpl) GetDubboStub(cc *dubbo3.TripleConn) GreeterClient {
+ return NewGreeterDubbo3Client(cc)
+}
+
+type GreeterProviderBase struct {
+ proxyImpl protocol.Invoker
+}
+
+func (s *GreeterProviderBase) SetProxyImpl(impl protocol.Invoker) {
+ s.proxyImpl = impl
+}
+
+func (s *GreeterProviderBase) GetProxyImpl() protocol.Invoker {
+ return s.proxyImpl
+}
+
+func (c *GreeterProviderBase) Reference() string {
+ return "greeterImpl"
+}
+
+func _DUBBO_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(HelloRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ base := srv.(dgrpc.Dubbo3GrpcService)
+ args := []interface{}{}
+ args = append(args, in)
+ invo := invocation.NewRPCInvocation("SayHello", args, nil)
+ if interceptor == nil {
+ result := base.GetProxyImpl().Invoke(ctx, invo)
+ return result.Result(), result.Error()
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/protobuf.Greeter/SayHello",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ result := base.GetProxyImpl().Invoke(context.Background(), invo)
+ return result.Result(), result.Error()
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc {
+ return &grpc.ServiceDesc{
+ ServiceName: "protobuf.Greeter",
+ HandlerType: (*GreeterServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "SayHello",
+ Handler: _DUBBO_Greeter_SayHello_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "helloworld.proto",
+ }
+}
diff --git a/helloworld/go-client/pkg/user.go b/helloworld/protobuf/helloworld.proto
similarity index 68%
rename from helloworld/go-client/pkg/user.go
rename to helloworld/protobuf/helloworld.proto
index 7733ea4..92b2876 100644
--- a/helloworld/go-client/pkg/user.go
+++ b/helloworld/protobuf/helloworld.proto
@@ -15,28 +15,23 @@
* limitations under the License.
*/
-package pkg
+syntax = "proto3";
+package protobuf;
-import (
- "context"
- "time"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+// The greeting service definition.
+service Greeter {
+ // Sends a greeting
+ rpc SayHello (HelloRequest) returns (User) {}
}
-func (u *UserProvider) Reference() string {
- return "UserProvider"
+// The request message containing the user's name.
+message HelloRequest {
+ string name = 1;
}
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
+// The response message containing the greetings
+message User {
+ string name = 1;
+ string id = 2;
+ int32 age = 3;
+}
\ No newline at end of file
diff --git a/helloworld/protobuf/protobuf.mk b/helloworld/protobuf/protobuf.mk
new file mode 100644
index 0000000..5680c3d
--- /dev/null
+++ b/helloworld/protobuf/protobuf.mk
@@ -0,0 +1,26 @@
+.PHONY: compile
+PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go
+PROTOC := $(shell which protoc)
+ifeq ($(PROTOC),)
+ PROTOC = must-rebuild
+endif
+
+UNAME := $(shell uname)
+
+$(PROTOC):
+ifeq ($(UNAME), Darwin)
+ brew install protobuf
+endif
+ifeq ($(UNAME), Linux)
+ sudo apt-get install protobuf-compiler
+endif
+
+$(PROTOC_GEN_GO):
+ go get -u dubbo.apache.org/dubbo-go/v3/protocol/dubbo3/protoc-gen-dubbo3
+
+helloworld.pb.go: helloworld.proto | $(PROTOC_GEN_GO) $(PROTOC)
+ protoc -I . helloworld.proto --dubbo3_out=plugins=grpc+dubbo:.
+
+.PHONY: compile
+compile: helloworld.pb.go
+
diff --git a/logger/go-client/cmd/client.go b/logger/go-client/cmd/client.go
index b1815bf..7b7841a 100755
--- a/logger/go-client/cmd/client.go
+++ b/logger/go-client/cmd/client.go
@@ -38,7 +38,7 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/helloworld/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/logger/go-client/pkg"
)
var userProvider = new(pkg.UserProvider)
[dubbo-go-samples] 08/14: update nacos samples config (#205)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 7b0d9e79774c0227bd868ac1c459d8393884589f
Author: Mulavar <97...@qq.com>
AuthorDate: Sat Aug 28 09:06:55 2021 +0800
update nacos samples config (#205)
Co-authored-by: dongjianhui03 <do...@meituan.com>
---
.run/registry/registry-nacos-go-client.run.xml | 4 +-
.run/registry/registry-nacos-go-server.run.xml | 4 +-
registry/nacos/go-client/cmd/client.go | 27 +++++++----
registry/nacos/go-client/conf/client.yml | 57 -----------------------
registry/nacos/go-client/conf/dubbogo.yml | 13 ++++++
registry/nacos/go-client/pkg/user.go | 42 -----------------
registry/nacos/go-server/cmd/server.go | 38 ++++++++++++++--
registry/nacos/go-server/conf/client.yml | 57 -----------------------
registry/nacos/go-server/conf/dubbogo.yml | 17 +++++++
registry/nacos/go-server/conf/server.yml | 55 -----------------------
registry/nacos/go-server/pkg/user.go | 62 --------------------------
11 files changed, 88 insertions(+), 288 deletions(-)
diff --git a/.run/registry/registry-nacos-go-client.run.xml b/.run/registry/registry-nacos-go-client.run.xml
index 35bef0d..d720d09 100644
--- a/.run/registry/registry-nacos-go-client.run.xml
+++ b/.run/registry/registry-nacos-go-client.run.xml
@@ -3,13 +3,13 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/registry/nacos/go-client/conf/client.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/registry/nacos/go-client/conf/dubbogo.yml" />
<env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/registry/nacos/go-client/conf/log.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/grpc/unary/go-client/cmd/client.go" />
<package value="github.com/apache/dubbo-go-samples/registry/nacos/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/grpc/unary/go-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/registry/registry-nacos-go-server.run.xml b/.run/registry/registry-nacos-go-server.run.xml
index 80a04bf..fb5f292 100644
--- a/.run/registry/registry-nacos-go-server.run.xml
+++ b/.run/registry/registry-nacos-go-server.run.xml
@@ -4,12 +4,12 @@
<working_directory value="$PROJECT_DIR$" />
<envs>
<env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/registry/nacos/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/registry/nacos/go-server/conf/server.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/registry/nacos/go-server/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/registry/nacos/go-server/cmd/server.go" />
<package value="github.com/apache/dubbo-go-samples/registry/nacos/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/registry/nacos/go-server/cmd/server.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/registry/nacos/go-client/cmd/client.go b/registry/nacos/go-client/cmd/client.go
index 5369454..5412757 100644
--- a/registry/nacos/go-client/cmd/client.go
+++ b/registry/nacos/go-client/cmd/client.go
@@ -38,24 +38,35 @@ import (
"github.com/dubbogo/gost/log"
)
-import (
- "github.com/apache/dubbo-go-samples/registry/nacos/go-client/pkg"
-)
+type UserProvider struct {
+ GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+}
+
+func (u *UserProvider) Reference() string {
+ return "userProvider"
+}
-var userProvider = new(pkg.UserProvider)
+type User struct {
+ ID string
+ Name string
+ Age int32
+ Time time.Time
+}
-func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
+func (*User) JavaClassName() string {
+ return "org.apache.dubbo.User"
}
// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
func main() {
+ var userProvider = &UserProvider{}
+ config.SetConsumerService(userProvider)
+ hessian.RegisterPOJO(&User{})
config.Load()
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
+ user := &User{}
err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
if err != nil {
gxlog.CError("error: %v\n", err)
diff --git a/registry/nacos/go-client/conf/client.yml b/registry/nacos/go-client/conf/client.yml
deleted file mode 100644
index 5936848..0000000
--- a/registry/nacos/go-client/conf/client.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoClient"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoNacos":
- protocol: "nacos"
- timeout: "3s"
- address: "127.0.0.1:8848"
-
-# reference config
-references:
- "UserProvider":
- registry: "demoNacos"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/registry/nacos/go-client/conf/dubbogo.yml b/registry/nacos/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..a3eafaa
--- /dev/null
+++ b/registry/nacos/go-client/conf/dubbogo.yml
@@ -0,0 +1,13 @@
+dubbo:
+ registries:
+ "demoNacos":
+ protocol: "nacos"
+ timeout: "3s"
+ address: "127.0.0.1:8848"
+ consumer:
+ registry:
+ - demoNacos
+ references:
+ "userProvider":
+ protocol: "dubbo"
+ interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
diff --git a/registry/nacos/go-client/pkg/user.go b/registry/nacos/go-client/pkg/user.go
deleted file mode 100644
index 7733ea4..0000000
--- a/registry/nacos/go-client/pkg/user.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/registry/nacos/go-server/cmd/server.go b/registry/nacos/go-server/cmd/server.go
index b08f26d..1670192 100644
--- a/registry/nacos/go-server/cmd/server.go
+++ b/registry/nacos/go-server/cmd/server.go
@@ -18,6 +18,7 @@
package main
import (
+ "context"
"fmt"
"os"
"os/signal"
@@ -35,16 +36,47 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
-)
-import (
- _ "github.com/apache/dubbo-go-samples/registry/nacos/go-server/pkg"
+ hessian "github.com/apache/dubbo-go-hessian2"
+
+ gxlog "github.com/dubbogo/gost/log"
)
var (
survivalTimeout = int(3e9)
)
+func init() {
+ config.SetProviderService(&UserProvider{})
+ // ------for hessian2------
+ hessian.RegisterPOJO(&User{})
+}
+
+type User struct {
+ ID string
+ Name string
+ Age int32
+ Time time.Time
+}
+
+type UserProvider struct {
+}
+
+func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
+ gxlog.CInfo("req:%#v", req)
+ rsp := User{"A001", "Alex Stocks", 18, time.Now()}
+ gxlog.CInfo("rsp:%#v", rsp)
+ return &rsp, nil
+}
+
+func (u *UserProvider) Reference() string {
+ return "userProvider"
+}
+
+func (u User) JavaClassName() string {
+ return "org.apache.dubbo.User"
+}
+
// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
func main() {
config.Load()
diff --git a/registry/nacos/go-server/conf/client.yml b/registry/nacos/go-server/conf/client.yml
deleted file mode 100644
index d9e9c87..0000000
--- a/registry/nacos/go-server/conf/client.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoTest"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "nacos":
- protocol: "nacos"
- timeout: "3s"
- address: "127.0.0.1:8848"
-
-# reference config
-references:
- "UserProvider":
- registry: "nacos"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/registry/nacos/go-server/conf/dubbogo.yml b/registry/nacos/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..d485271
--- /dev/null
+++ b/registry/nacos/go-server/conf/dubbogo.yml
@@ -0,0 +1,17 @@
+dubbo:
+ registries:
+ "demoNacos":
+ protocol: "nacos"
+ timeout: "3s"
+ address: "127.0.0.1:8848"
+ protocols:
+ "dubbo":
+ name: "dubbo"
+ port: 20000
+ provider:
+ registry:
+ - demoNacos
+ services:
+ "userProvider":
+ protocol: "dubbo"
+ interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
diff --git a/registry/nacos/go-server/conf/server.yml b/registry/nacos/go-server/conf/server.yml
deleted file mode 100644
index 441c344..0000000
--- a/registry/nacos/go-server/conf/server.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoServer"
- module: "dubbo-go user-info server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoNacos":
- protocol: "nacos"
- timeout : "3s"
- address: "127.0.0.1:8848"
-
-# service config
-services:
- "UserProvider":
- registry: "demoNacos"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/registry/nacos/go-server/pkg/user.go b/registry/nacos/go-server/pkg/user.go
deleted file mode 100644
index 75d0916..0000000
--- a/registry/nacos/go-server/pkg/user.go
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
[dubbo-go-samples] 04/14: Config enhance v3 (#203)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit af38e8288f8728165b5966661a6120844a869e0d
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Sat Aug 21 15:18:02 2021 +0800
Config enhance v3 (#203)
* fix
* fix: init helloworld and registry zk
* fix: change general to rpc
---
.gitignore | 4 +-
.run/helloworld-go-client.run.xml | 7 +-
...client.run.xml => helloworld-go-server.run.xml} | 9 +-
.run/registry/registry-zookeeper-go-client.run.xml | 2 +-
.run/registry/registry-zookeeper-go-server.run.xml | 2 +-
.run/triple-codec-extension-client.run.xml | 4 +-
.run/triple-codec-extension-server.run.xml | 4 +-
.run/triple-msgpack-client.run.xml | 4 +-
.run/triple-msgpack-server.run.xml | 4 +-
.run/triple-server.run.xml | 4 +-
.run/triple/gojava-go-client.run.xml | 8 +-
.run/triple/gojava-go-server.run.xml | 8 +-
.run/triple/triple-stream-client.run.xml | 8 +-
.run/triple/triple-unary-client.run.xml | 8 +-
.run/triple/triplego-hessian-client.run.xml | 4 +-
.run/triple/triplego-hessian-server.run.xml | 4 +-
api/generate.sh | 4 +
.../helloworld.pb.go => api/samples_api.pb.go | 219 ++++++++++-----------
.../helloworld.proto => api/samples_api.proto | 2 +-
async/README.md | 46 -----
async/README_zh.md | 45 -----
async/go-client/cmd/client.go | 68 -------
async/go-client/conf/client.yml | 61 ------
async/go-client/conf/log.yml | 28 ---
async/go-client/pkg/user.go | 79 --------
async/go-server/cmd/server.go | 79 --------
async/go-server/conf/client.yml | 61 ------
async/go-server/conf/log.yml | 28 ---
async/go-server/conf/server.yml | 55 ------
async/go-server/docker/docker-compose.yml | 9 -
async/go-server/docker/docker-health-check.sh | 10 -
async/go-server/pkg/user.go | 62 ------
async/go-server/tests/integration/main_test.go | 89 ---------
.../tests/integration/userprovider_test.go | 54 -----
attachment/README.md | 35 ----
attachment/README_zh.md | 37 ----
attachment/go-client/cmd/client.go | 69 -------
attachment/go-client/conf/client.yml | 59 ------
attachment/go-client/conf/log.yml | 27 ---
attachment/go-client/pkg/user.go | 42 ----
attachment/go-server/cmd/server.go | 80 --------
attachment/go-server/conf/client.yml | 59 ------
attachment/go-server/conf/log.yml | 27 ---
attachment/go-server/conf/server.yml | 55 ------
attachment/go-server/docker/docker-compose.yml | 9 -
attachment/go-server/docker/docker-health-check.sh | 10 -
attachment/go-server/pkg/user.go | 71 -------
.../go-server/tests/integration/main_test.go | 71 -------
.../tests/integration/userprovider_test.go | 49 -----
.../stream-client/dubbogo-client/cmd/env.sh | 2 -
.../dubbo3/pb/dubbogo-java/protobuf/protobuf.mk | 26 ---
generic/README.md | 6 +-
generic/README_zh.md | 6 +-
go.mod | 11 +-
go.sum | 15 +-
helloworld/README.md | 11 +-
helloworld/README_zh.md | 11 +-
helloworld/go-client/cmd/client.go | 35 ++--
.../go-client/conf/{client.yml => dubbogo.yml} | 2 +-
helloworld/go-server/cmd/server.go | 26 ++-
.../go-server/conf/{server.yml => dubbogo.yml} | 2 +-
helloworld/go-server/pkg/greeter.go | 45 -----
helloworld/java-client/pom.xml | 2 +-
helloworld/java-server/pom.xml | 2 +-
.../helloworld}/docker/docker-compose.yml | 0
.../helloworld}/tests/integration/main_test.go | 2 +-
.../tests/integration/userprovider_test.go | 2 +-
.../registry/zookeeper}/docker/docker-compose.yml | 0
.../zookeeper}/docker/docker-health-check.sh | 0
.../zookeeper}/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
logger/go-server/cmd/server.go | 2 +-
registry/zookeeper/go-client/cmd/client.go | 39 ++--
registry/zookeeper/go-client/conf/application.yml | 20 --
.../zookeeper/go-client/conf/dubbogo.yml | 2 +-
registry/zookeeper/go-client/pkg/user.go | 48 -----
registry/zookeeper/go-server/cmd/server.go | 28 +--
.../zookeeper/go-server/conf/dubbogo.yml | 2 +-
registry/zookeeper/go-server/conf/server.yml | 24 ---
registry/zookeeper/go-server/pkg/user.go | 57 ------
{general => rpc}/dubbo/go-client/cmd/client.go | 0
{general => rpc}/dubbo/go-client/conf/client.yml | 0
.../go-server => rpc/dubbo/go-client}/conf/log.yml | 0
{general => rpc}/dubbo/go-client/pkg/user.go | 0
{general => rpc}/dubbo/go-server/cmd/server.go | 0
{general => rpc}/dubbo/go-server/conf/client.yml | 0
.../go-client => rpc/dubbo/go-server}/conf/log.yml | 0
{general => rpc}/dubbo/go-server/conf/server.yml | 0
.../dubbo}/go-server/docker/docker-compose.yml | 0
.../dubbo}/go-server/docker/docker-health-check.sh | 0
{general => rpc}/dubbo/go-server/pkg/user.go | 0
.../dubbo/go-server/pkg/user_provider.go | 0
.../dubbo/go-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
.../dubbo/java-client}/2.6/pom.xml | 0
.../src/main/java/org/apache/dubbo/Consumer.java | 0
.../src/main/java/org/apache/dubbo/Gender.java | 0
.../2.6}/src/main/java/org/apache/dubbo/User.java | 0
.../main/java/org/apache/dubbo/UserProvider.java | 0
.../resources/META-INF/spring/dubbo.consumer.xml | 0
.../2.6}/src/main/resources/log4j.properties | 0
.../dubbo/java-client}/2.7/pom.xml | 0
.../src/main/java/org/apache/dubbo/Consumer.java | 0
.../src/main/java/org/apache/dubbo/Gender.java | 0
.../2.7}/src/main/java/org/apache/dubbo/User.java | 0
.../main/java/org/apache/dubbo/UserProvider.java | 0
.../resources/META-INF/spring/dubbo.consumer.xml | 0
.../2.7/src/main/resources}/log4j.properties | 0
.../dubbo/java-server}/2.6/pom.xml | 0
.../src/main/java/org/apache/dubbo/Gender.java | 0
.../src/main/java/org/apache/dubbo/Provider.java | 0
.../src/main/java/org/apache/dubbo/Response.java | 0
.../2.6}/src/main/java/org/apache/dubbo/User.java | 0
.../main/java/org/apache/dubbo/UserProvider.java | 0
.../org/apache/dubbo/UserProviderAnotherImpl.java | 0
.../java/org/apache/dubbo/UserProviderImpl.java | 0
.../resources/META-INF/spring/dubbo.provider.xml | 0
.../2.6}/src/main/resources/log4j.properties | 0
.../dubbo/java-server}/2.7/pom.xml | 0
.../src/main/java/org/apache/dubbo/Gender.java | 0
.../src/main/java/org/apache/dubbo/Provider.java | 0
.../src/main/java/org/apache/dubbo/Response.java | 0
.../2.7}/src/main/java/org/apache/dubbo/User.java | 0
.../main/java/org/apache/dubbo/UserProvider.java | 0
.../org/apache/dubbo/UserProviderAnotherImpl.java | 0
.../java/org/apache/dubbo/UserProviderImpl.java | 0
.../resources/META-INF/spring/dubbo.provider.xml | 0
.../2.7/src/main/resources}/log4j.properties | 0
{general => rpc}/dubbo3/README.md | 6 +-
{general => rpc}/dubbo3/README_zh.md | 6 +-
.../dubbo3/codec-extension/go-client/cmd/client.go | 0
.../codec-extension/go-client}/codec/codec.go | 0
.../codec-extension/go-client/conf/client.yml | 0
.../dubbo3/codec-extension/go-client}/conf/log.yml | 0
.../dubbo3/codec-extension}/go-client/pkg/hello.go | 0
.../dubbo3/codec-extension/go-server/cmd/server.go | 0
.../codec-extension/go-server}/codec/codec.go | 0
.../codec-extension/go-server/conf/client.yml | 0
.../dubbo3/codec-extension/go-server}/conf/log.yml | 0
.../codec-extension/go-server/conf/server.yml | 0
.../go-server}/docker/docker-compose.yml | 0
.../go-server}/docker/docker-health-check.sh | 0
.../codec-extension/go-server/pkg/greeter.go | 0
.../go-server/tests/integration/codec.go | 0
.../go-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
{general => rpc}/dubbo3/hessian2/README.md | 2 +-
{general => rpc}/dubbo3/hessian2/README_zh.md | 0
.../dubbo3/hessian2/go-client/cmd/client.go | 0
.../dubbo3/hessian2/go-client/conf/client.yml | 0
.../dubbo3/hessian2/go-client}/conf/log.yml | 0
.../dubbo3/hessian2/go-client/pkg/hello.go | 0
.../dubbo3/hessian2/go-server/cmd/server.go | 0
.../dubbo3/hessian2/go-server/conf/client.yml | 0
.../dubbo3/hessian2}/go-server/conf/log.yml | 0
.../dubbo3/hessian2/go-server/conf/server.yml | 0
.../hessian2}/go-server/docker/docker-compose.yml | 0
.../go-server/docker/docker-health-check.sh | 0
.../dubbo3/hessian2/go-server/pkg/greeter.go | 0
.../go-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
.../org/apache/dubbo/sample/hello/Helloworld.java | 0
.../dubbo3/hessian2/java-client/pom.xml | 0
.../dubbo3/hessian2}/java-client/run.sh | 0
.../com/apache/dubbo/sample/basic/ApiConsumer.java | 0
.../com/apache/dubbo/sample/basic/IGreeter.java | 0
.../java/com/apache/dubbo/sample/basic/User.java | 0
.../java-client}/src/main/proto/helloworld.proto | 0
.../src/main/resources/log4j.properties | 0
.../org/apache/dubbo/sample/hello/Helloworld.java | 0
.../dubbo3/hessian2/java-server/pom.xml | 0
.../dubbo3/hessian2}/java-server/run.sh | 0
.../com/apache/dubbo/sample/basic/ApiProvider.java | 0
.../com/apache/dubbo/sample/basic/IGreeter.java | 0
.../apache/dubbo/sample/basic/IGreeter1Impl.java | 0
.../java/com/apache/dubbo/sample/basic/User.java | 0
.../java-server}/src/main/proto/helloworld.proto | 0
.../src/main/resources/log4j.properties | 0
.../dubbo3/msgpack/go-client/cmd/client.go | 0
.../dubbo3/msgpack/go-client/conf/client.yml | 0
.../dubbo3/msgpack/go-client/conf/log.yml | 0
.../dubbo3/msgpack}/go-client/pkg/hello.go | 0
.../dubbo3/msgpack/go-server/cmd/server.go | 0
.../dubbo3/msgpack/go-server/conf/client.yml | 0
.../dubbo3/msgpack}/go-server/conf/log.yml | 0
.../dubbo3/msgpack/go-server/conf/server.yml | 0
.../msgpack/go-server}/docker/docker-compose.yml | 0
.../go-server/docker/docker-health-check.sh | 0
.../dubbo3/msgpack/go-server/pkg/greeter.go | 0
.../go-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
{general => rpc}/dubbo3/pb/dubbogo-grpc/README.md | 16 +-
.../dubbo3/pb/dubbogo-grpc/README_zh.md | 12 +-
.../dubbogo-grpc/protobuf/dubbo3/helloworld.pb.go | 0
.../dubbogo-grpc/protobuf/dubbo3/helloworld.proto | 0
.../pb/dubbogo-grpc/protobuf/dubbo3/protobuf.mk | 0
.../pb/dubbogo-grpc/protobuf/grpc/helloworld.pb.go | 0
.../pb/dubbogo-grpc/protobuf/grpc/helloworld.proto | 0
.../server/dubbogo-server/cmd/server.go | 0
.../server/dubbogo-server/conf/client.yml | 0
.../server/dubbogo-server}/conf/log.yml | 0
.../server/dubbogo-server/conf/server.yml | 0
.../dubbogo-server}/docker/docker-compose.yml | 0
.../dubbogo-server}/docker/docker-health-check.sh | 0
.../server/dubbogo-server/pkg/greeter.go | 0
.../integration/grpc_test_proto/helloworld.pb.go | 0
.../dubbogo-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
.../pb/dubbogo-grpc/server/grpcgo-server/main.go | 0
.../stream-client/dubbogo-client/cmd/client.go | 0
.../stream-client/dubbogo-client}/cmd/env.sh | 0
.../stream-client/dubbogo-client/conf/client.yml | 0
.../stream-client/dubbogo-client}/conf/log.yml | 0
.../stream-client/grpcgo-client/main.go | 0
.../unary-client/dubbogo-client/cmd/client.go | 0
.../unary-client/dubbogo-client/conf/client.yml | 0
.../unary-client/dubbogo-client}/conf/log.yml | 0
.../unary-client/grpcgo-client/main.go | 0
{general => rpc}/dubbo3/pb/dubbogo-java/README.md | 2 +-
.../dubbo3/pb/dubbogo-java/README_zh.md | 2 +-
.../dubbo3/pb/dubbogo-java/go-client/cmd/client.go | 0
.../dubbo3/pb/dubbogo-java/go-client/cmd/env.sh | 0
.../pb/dubbogo-java/go-client}/conf/client.yml | 0
.../dubbo3/pb/dubbogo-java/go-client}/conf/log.yml | 0
.../dubbo3/pb/dubbogo-java/go-server/cmd/env.sh | 0
.../dubbo3/pb/dubbogo-java/go-server/cmd/server.go | 0
.../pb/dubbogo-java/go-server}/conf/client.yml | 0
.../dubbo3/pb/dubbogo-java/go-server}/conf/log.yml | 0
.../pb/dubbogo-java/go-server/conf/server.yml | 0
.../go-server/docker/docker-compose.yml | 0
.../pb/dubbogo-java/go-server/pkg/greeter.go | 0
.../go-server/tests/integration/main_test.go | 0
.../tests/integration/userprovider_test.go | 0
.../org/apache/dubbo/sample/hello/Helloworld.java | 79 ++++++--
.../dubbo3/pb/dubbogo-java/java-client/pom.xml | 0
.../dubbo3/pb/dubbogo-java}/java-client/run.sh | 0
.../com/apache/dubbo/sample/basic/ApiConsumer.java | 0
.../com/apache/dubbo/sample/basic/IGreeter.java | 0
.../java-client}/src/main/proto/helloworld.proto | 0
.../src/main/resources/log4j.properties | 0
.../org/apache/dubbo/sample/hello/Helloworld.java | 79 ++++++--
.../dubbo3/pb/dubbogo-java/java-server/pom.xml | 0
.../dubbo3/pb/dubbogo-java}/java-server/run.sh | 0
.../com/apache/dubbo/sample/basic/ApiProvider.java | 0
.../com/apache/dubbo/sample/basic/IGreeter.java | 0
.../apache/dubbo/sample/basic/IGreeter1Impl.java | 0
.../java-server}/src/main/proto/helloworld.proto | 0
.../src/main/resources/log4j.properties | 0
.../pb/dubbogo-java}/protobuf/helloworld.pb.go | 0
.../pb/dubbogo-java}/protobuf/helloworld.proto | 0
.../dubbo3/pb/dubbogo-java}/protobuf/protobuf.mk | 0
{general => rpc}/grpc/go-client/cmd/client.go | 0
{general => rpc}/grpc/go-client/conf/client.yml | 0
{general => rpc}/grpc/go-client/conf/log.yml | 0
{general => rpc}/grpc/go-server/cmd/server.go | 0
{general => rpc}/grpc/go-server/conf/client.yml | 0
{general => rpc}/grpc/go-server/conf/log.yml | 0
{general => rpc}/grpc/go-server/conf/server.yml | 0
.../grpc/go-server/docker/docker-compose.yml | 0
.../grpc}/go-server/docker/docker-health-check.sh | 0
{general => rpc}/grpc/go-server/pkg/greeter.go | 0
.../go-server/tests/integration/greeter_test.go | 0
.../grpc/go-server/tests/integration/main_test.go | 0
{general => rpc}/grpc/protobuf/helloworld.pb.go | 0
{general => rpc}/grpc/protobuf/helloworld.proto | 0
{general => rpc}/grpc/protobuf/protobuf.mk | 0
.../grpc/stream/go-client/app/Makefile | 0
.../grpc/stream/go-client/app/client.go | 0
.../grpc/stream/go-client}/app/helloworld.pb.go | 0
.../grpc/stream/go-client}/app/helloworld.proto | 0
.../grpc/stream/go-client/app}/version.go | 0
.../grpc/stream/go-client/assembly/bin/load.sh | 0
.../go-client/assembly/common/app.properties | 0
.../grpc/stream/go-client/assembly/common/build.sh | 0
.../grpc/stream/go-client/assembly/linux/dev.sh | 0
.../stream/go-client/assembly/linux/release.sh | 0
.../grpc/stream/go-client/assembly/linux/test.sh | 0
.../grpc/stream/go-client/assembly/mac/dev.sh | 0
.../grpc/stream/go-client/assembly/mac/release.sh | 0
.../grpc/stream/go-client/assembly/mac/test.sh | 0
.../grpc/stream/go-client/assembly/windows/dev.sh | 0
.../stream/go-client/assembly/windows/release.sh | 0
.../grpc/stream/go-client/assembly/windows/test.sh | 0
.../grpc/stream/go-client/profiles/dev/client.yml | 0
.../grpc/stream/go-client/profiles/dev}/log.yml | 0
.../stream/go-client}/profiles/release/log.yml | 0
.../grpc/stream/go-client/profiles/test/client.yml | 0
.../grpc/stream/go-client}/profiles/test/log.yml | 0
.../grpc/stream/go-server/app/greeter.go | 0
.../grpc/stream/go-server}/app/helloworld.pb.go | 0
.../grpc/stream/go-server}/app/helloworld.proto | 0
.../grpc/stream/go-server/app/server.go | 0
.../grpc/stream/go-server/app}/version.go | 0
.../grpc/stream/go-server/assembly/bin/load.sh | 0
.../go-server/assembly/common/app.properties | 0
.../grpc/stream/go-server/assembly/common/build.sh | 0
.../grpc/stream/go-server/assembly/linux/dev.sh | 0
.../stream/go-server/assembly/linux/release.sh | 0
.../grpc/stream/go-server/assembly/linux/test.sh | 0
.../grpc/stream/go-server/assembly/mac/dev.sh | 0
.../grpc/stream/go-server/assembly/mac/release.sh | 0
.../grpc/stream/go-server/assembly/mac/test.sh | 0
.../grpc/stream/go-server/assembly/windows/dev.sh | 0
.../stream/go-server/assembly/windows/release.sh | 0
.../grpc/stream/go-server/assembly/windows/test.sh | 0
.../grpc/stream/go-server/profiles/dev}/log.yml | 0
.../grpc/stream/go-server/profiles/dev/server.yml | 0
.../stream/go-server}/profiles/release/log.yml | 0
.../stream/go-server/profiles/release/server.yml | 0
.../grpc/stream/go-server}/profiles/test/log.yml | 0
.../grpc/stream/go-server/profiles/test/server.yml | 0
{general => rpc}/jsonrpc/go-client/cmd/client.go | 0
{general => rpc}/jsonrpc/go-client/conf/client.yml | 0
.../dev => rpc/jsonrpc/go-client/conf}/log.yml | 0
{general => rpc}/jsonrpc/go-client/pkg/user.go | 0
{general => rpc}/jsonrpc/go-server/cmd/server.go | 0
.../dev => rpc/jsonrpc/go-server/conf}/log.yml | 0
{general => rpc}/jsonrpc/go-server/conf/server.yml | 0
{general => rpc}/jsonrpc/go-server/pkg/user.go | 0
.../jsonrpc/go-server/pkg/user_provider.go | 0
.../jsonrpc/go-server/pkg/user_provider1.go | 0
.../jsonrpc/go-server/pkg/user_provider2.go | 0
{general => rpc}/jsonrpc/java-client/build.sh | 0
{general => rpc}/jsonrpc/java-client/pom.xml | 0
.../java-client/src/main/assembly/assembly.xml | 0
.../src/main/assembly/conf}/dubbo.properties | 0
.../src/main/assembly/conf}/log4j.properties | 0
.../src/main/java/com/ikurento/user/Consumer.java | 0
.../src/main/java/com/ikurento/user/Gender.java | 0
.../src/main/java/com/ikurento/user/User.java | 0
.../main/java/com/ikurento/user/UserProvider.java | 0
.../resources/META-INF/spring/dubbo.consumer.xml | 0
.../src/main/resources/META-INF/spring/service.xml | 0
.../src/main/resources}/dubbo.properties | 0
.../src/main/resources/log4j.properties | 0
{general => rpc}/jsonrpc/java-server/build.sh | 0
{general => rpc}/jsonrpc/java-server/pom.xml | 0
.../jsonrpc/java-server/script/debug.sh | 0
.../java-server/src/main/assembly/assembly.xml | 0
.../src/main/assembly/conf/dubbo.properties | 0
.../src/main/assembly/conf}/log4j.properties | 0
.../src/main/java/com/ikurento/user/Gender.java | 0
.../src/main/java/com/ikurento/user/Provider.java | 0
.../src/main/java/com/ikurento/user/Response.java | 0
.../src/main/java/com/ikurento/user/User.java | 0
.../main/java/com/ikurento/user/UserProvider.java | 0
.../com/ikurento/user/UserProviderAnotherImpl.java | 0
.../java/com/ikurento/user/UserProviderImpl.java | 0
.../resources/META-INF/spring/dubbo.provider.xml | 0
.../src/main/resources/log4j.properties | 0
{general => rpc}/rest/README.md | 0
{general => rpc}/rest/README_zh.md | 0
{general => rpc}/rest/go-client/cmd/client.go | 0
.../app => rpc/rest/go-client/cmd}/version.go | 0
{general => rpc}/rest/go-client/conf/client.yml | 0
.../go-server => rpc/rest/go-client}/conf/log.yml | 0
.../rest/go-client}/docker/docker-compose.yml | 0
{general => rpc}/rest/go-client/pkg/user.go | 0
{general => rpc}/rest/go-server/cmd/server.go | 0
.../app => rpc/rest/go-server/cmd}/version.go | 0
.../go-client => rpc/rest/go-server}/conf/log.yml | 0
{general => rpc}/rest/go-server/conf/server.yml | 0
.../rest}/go-server/docker/docker-compose.yml | 0
{general => rpc}/rest/go-server/pkg/user.go | 0
.../rest/go-server/pkg/user_provider.go | 0
.../rest/go-server/pkg/user_provider1.go | 0
.../rest/go-server/pkg/user_provider2.go | 0
367 files changed, 409 insertions(+), 2006 deletions(-)
diff --git a/.gitignore b/.gitignore
index 69d1d44..dc0df65 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,5 +34,5 @@ coverage.txt
.settings/
# java build
-general/dubbo3/pb/dubbogo-java/java-client/build/
-general/dubbo3/pb/dubbogo-java/java-server/build/
\ No newline at end of file
+general/dubbo3/api/dubbogo-java/java-client/build/
+general/dubbo3/api/dubbogo-java/java-server/build/
\ No newline at end of file
diff --git a/.run/helloworld-go-client.run.xml b/.run/helloworld-go-client.run.xml
index 3e9c396..05170fc 100644
--- a/.run/helloworld-go-client.run.xml
+++ b/.run/helloworld-go-client.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="helloworld-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="helloworld-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-helloworld" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/helloworld/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/helloworld/go-client/conf/client.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/helloworld/go-client/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
<package value="github.com/apache/dubbo-go-samples/helloworld/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/helloworld-go-client.run.xml b/.run/helloworld-go-server.run.xml
similarity index 51%
copy from .run/helloworld-go-client.run.xml
copy to .run/helloworld-go-server.run.xml
index 3e9c396..12a75d0 100644
--- a/.run/helloworld-go-client.run.xml
+++ b/.run/helloworld-go-server.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="helloworld-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="helloworld-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-helloworld" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/helloworld/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/helloworld/go-client/conf/client.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/helloworld/go-server/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/helloworld/go-client/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/helloworld/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/registry/registry-zookeeper-go-client.run.xml b/.run/registry/registry-zookeeper-go-client.run.xml
index e9841d8..fbcd0d6 100644
--- a/.run/registry/registry-zookeeper-go-client.run.xml
+++ b/.run/registry/registry-zookeeper-go-client.run.xml
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="registry-zookeeper-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application">
+ <configuration default="false" name="registry-zookeeper-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-registry-zookeeper">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
diff --git a/.run/registry/registry-zookeeper-go-server.run.xml b/.run/registry/registry-zookeeper-go-server.run.xml
index 023aa10..d3b5b65 100644
--- a/.run/registry/registry-zookeeper-go-server.run.xml
+++ b/.run/registry/registry-zookeeper-go-server.run.xml
@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="registry-zookeeper-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application">
+ <configuration default="false" name="registry-zookeeper-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-registry-zookeeper">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
diff --git a/.run/triple-codec-extension-client.run.xml b/.run/triple-codec-extension-client.run.xml
index 55591d0..ec0f339 100644
--- a/.run/triple-codec-extension-client.run.xml
+++ b/.run/triple-codec-extension-client.run.xml
@@ -7,9 +7,9 @@
<env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/codec-extension/go-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/codec-extension/go-client/cmd" />
+ <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
<filePath value="$PROJECT_DIR$" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/codec-extension/go-client/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple-codec-extension-server.run.xml b/.run/triple-codec-extension-server.run.xml
index 6b68920..da9aa95 100644
--- a/.run/triple-codec-extension-server.run.xml
+++ b/.run/triple-codec-extension-server.run.xml
@@ -7,9 +7,9 @@
<env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/codec-extension/go-server/conf/server.yml" />
</envs>
<kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/codec-extension/go-server/cmd" />
+ <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
<filePath value="$PROJECT_DIR$" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/codec-extension/go-server/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple-msgpack-client.run.xml b/.run/triple-msgpack-client.run.xml
index d265e2f..76d0bf0 100644
--- a/.run/triple-msgpack-client.run.xml
+++ b/.run/triple-msgpack-client.run.xml
@@ -7,9 +7,9 @@
<env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/msgpack/go-client/cmd" />
+ <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
<filePath value="$PROJECT_DIR$" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/msgpack/go-client/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple-msgpack-server.run.xml b/.run/triple-msgpack-server.run.xml
index 8ef6570..5ff8ee6 100644
--- a/.run/triple-msgpack-server.run.xml
+++ b/.run/triple-msgpack-server.run.xml
@@ -7,9 +7,9 @@
<env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/msgpack/go-server/conf/server.yml" />
</envs>
<kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/msgpack/go-server/cmd" />
+ <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
<filePath value="$PROJECT_DIR$" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/msgpack/go-server/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple-server.run.xml b/.run/triple-server.run.xml
index b249d57..2a77a0c 100644
--- a/.run/triple-server.run.xml
+++ b/.run/triple-server.run.xml
@@ -3,9 +3,9 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
<directory value="$PROJECT_DIR$" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd/server.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/gojava-go-client.run.xml b/.run/triple/gojava-go-client.run.xml
index b1dcede..1f38a81 100644
--- a/.run/triple/gojava-go-client.run.xml
+++ b/.run/triple/gojava-go-client.run.xml
@@ -3,13 +3,13 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-java/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-java/go-client/conf/client.yml" />
+ <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-java/go-client/conf/log.yml" />
+ <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-java/go-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-java/go-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-java/go-client/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/api/dubbogo-java/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-java/go-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/gojava-go-server.run.xml b/.run/triple/gojava-go-server.run.xml
index 5b1fa6e..4e00c18 100644
--- a/.run/triple/gojava-go-server.run.xml
+++ b/.run/triple/gojava-go-server.run.xml
@@ -3,13 +3,13 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-java/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-java/go-server/conf/server.yml" />
+ <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-java/go-server/conf/log.yml" />
+ <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-java/go-server/conf/server.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-java/go-server/cmd/server.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-java/go-server/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/api/dubbogo-java/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-java/go-server/cmd/server.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/triple-stream-client.run.xml b/.run/triple/triple-stream-client.run.xml
index 8510ce6..259ba0b 100644
--- a/.run/triple/triple-stream-client.run.xml
+++ b/.run/triple/triple-stream-client.run.xml
@@ -3,13 +3,13 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/client.yml" />
+ <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/stream-client/dubbogo-client/conf/log.yml" />
+ <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/stream-client/dubbogo-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/api/dubbogo-grpc/stream-client/dubbogo-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/stream-client/dubbogo-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/triple-unary-client.run.xml b/.run/triple/triple-unary-client.run.xml
index 54055c2..1b397b9 100644
--- a/.run/triple/triple-unary-client.run.xml
+++ b/.run/triple/triple-unary-client.run.xml
@@ -3,13 +3,13 @@
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/client.yml" />
+ <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/unary-client/dubbogo-client/conf/log.yml" />
+ <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/unary-client/dubbogo-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/api/dubbogo-grpc/unary-client/dubbogo-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/api/dubbogo-grpc/unary-client/dubbogo-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/triplego-hessian-client.run.xml b/.run/triple/triplego-hessian-client.run.xml
index 85821c4..542d476 100644
--- a/.run/triple/triplego-hessian-client.run.xml
+++ b/.run/triple/triplego-hessian-client.run.xml
@@ -7,9 +7,9 @@
<env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/hessian2/go-client/conf/client.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/hessian2/go-client/cmd/client.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/hessian2/go-client/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/hessian2/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/hessian2/go-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/triple/triplego-hessian-server.run.xml b/.run/triple/triplego-hessian-server.run.xml
index 654a11b..5d0d252 100644
--- a/.run/triple/triplego-hessian-server.run.xml
+++ b/.run/triple/triplego-hessian-server.run.xml
@@ -7,9 +7,9 @@
<env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/hessian2/go-server/conf/server.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/general/dubbo3/hessian2/go-server/cmd/server.go" />
- <package value="github.com/apache/dubbo-go-samples/general/dubbo3/hessian2/go-server/cmd" />
+ <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/hessian2/go-server/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/general/dubbo3/hessian2/go-server/cmd/server.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/api/generate.sh b/api/generate.sh
new file mode 100644
index 0000000..d116f65
--- /dev/null
+++ b/api/generate.sh
@@ -0,0 +1,4 @@
+export GO111MODULE="on"
+export GOPROXY="http://goproxy.io"
+go get -u github.com/apache/dubbo-go/protocol/dubbo3/protoc-gen-dubbo3@3.0
+protoc -I . samples_api.proto --dubbo3_out=plugins=grpc+dubbo:.
\ No newline at end of file
diff --git a/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go b/api/samples_api.pb.go
similarity index 83%
rename from general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
rename to api/samples_api.pb.go
index 89625a4..cf48c46 100644
--- a/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
+++ b/api/samples_api.pb.go
@@ -1,11 +1,15 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: helloworld.proto
+// source: samples_api.proto
-package protobuf
+package api
import (
context "context"
fmt "fmt"
+ proto "github.com/golang/protobuf/proto"
+ grpc "google.golang.org/grpc"
+ codes "google.golang.org/grpc/codes"
+ status "google.golang.org/grpc/status"
math "math"
)
@@ -13,18 +17,11 @@ import (
"dubbo.apache.org/dubbo-go/v3/protocol"
dgrpc "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
"dubbo.apache.org/dubbo-go/v3/protocol/invocation"
-
tripleConstant "github.com/dubbogo/triple/pkg/common/constant"
dubbo3 "github.com/dubbogo/triple/pkg/triple"
-
- proto "github.com/golang/protobuf/proto"
-
- grpc "google.golang.org/grpc"
- codes "google.golang.org/grpc/codes"
-
- status "google.golang.org/grpc/status"
)
+// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
@@ -47,7 +44,7 @@ func (m *HelloRequest) Reset() { *m = HelloRequest{} }
func (m *HelloRequest) String() string { return proto.CompactTextString(m) }
func (*HelloRequest) ProtoMessage() {}
func (*HelloRequest) Descriptor() ([]byte, []int) {
- return fileDescriptor_17b8c58d586b62f2, []int{0}
+ return fileDescriptor_67d196fe99e714eb, []int{0}
}
func (m *HelloRequest) XXX_Unmarshal(b []byte) error {
@@ -89,7 +86,7 @@ func (m *User) Reset() { *m = User{} }
func (m *User) String() string { return proto.CompactTextString(m) }
func (*User) ProtoMessage() {}
func (*User) Descriptor() ([]byte, []int) {
- return fileDescriptor_17b8c58d586b62f2, []int{1}
+ return fileDescriptor_67d196fe99e714eb, []int{1}
}
func (m *User) XXX_Unmarshal(b []byte) error {
@@ -132,106 +129,24 @@ func (m *User) GetAge() int32 {
}
func init() {
- proto.RegisterType((*HelloRequest)(nil), "protobuf.HelloRequest")
- proto.RegisterType((*User)(nil), "protobuf.User")
+ proto.RegisterType((*HelloRequest)(nil), "api.HelloRequest")
+ proto.RegisterType((*User)(nil), "api.User")
}
-func init() { proto.RegisterFile("helloworld.proto", fileDescriptor_17b8c58d586b62f2) }
+func init() { proto.RegisterFile("samples_api.proto", fileDescriptor_67d196fe99e714eb) }
-var fileDescriptor_17b8c58d586b62f2 = []byte{
+var fileDescriptor_67d196fe99e714eb = []byte{
// 160 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0xc8, 0x48, 0xcd, 0xc9,
- 0xc9, 0x2f, 0xcf, 0x2f, 0xca, 0x49, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x00, 0x53,
- 0x49, 0xa5, 0x69, 0x4a, 0x4a, 0x5c, 0x3c, 0x1e, 0x20, 0xd9, 0xa0, 0xd4, 0xc2, 0xd2, 0xd4, 0xe2,
- 0x12, 0x21, 0x21, 0x2e, 0x96, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xce, 0x20,
- 0x30, 0x5b, 0xc9, 0x86, 0x8b, 0x25, 0xb4, 0x38, 0xb5, 0x08, 0x9b, 0x9c, 0x10, 0x1f, 0x17, 0x53,
- 0x66, 0x8a, 0x04, 0x13, 0x58, 0x84, 0x29, 0x33, 0x45, 0x48, 0x80, 0x8b, 0x39, 0x31, 0x3d, 0x55,
- 0x82, 0x59, 0x81, 0x51, 0x83, 0x35, 0x08, 0xc4, 0x34, 0xb2, 0xe7, 0x62, 0x77, 0x2f, 0x4a, 0x4d,
- 0x2d, 0x49, 0x2d, 0x12, 0x32, 0xe1, 0xe2, 0x08, 0x4e, 0xac, 0x04, 0xdb, 0x27, 0x24, 0xa6, 0x07,
- 0x73, 0x83, 0x1e, 0xb2, 0x03, 0xa4, 0xf8, 0x10, 0xe2, 0x20, 0x4b, 0x95, 0x18, 0x92, 0xd8, 0xc0,
- 0x02, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcf, 0xdb, 0xd1, 0x8b, 0xc7, 0x00, 0x00, 0x00,
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConnInterface
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion6
-
-// GreeterClient is the client API for Greeter service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
-type GreeterClient interface {
- // Sends a greeting
- SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error)
-}
-
-type greeterClient struct {
- cc grpc.ClientConnInterface
-}
-
-func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient {
- return &greeterClient{cc}
-}
-
-func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
- out := new(User)
- err := c.cc.Invoke(ctx, "/protobuf.Greeter/SayHello", in, out, opts...)
- if err != nil {
- return nil, err
- }
- return out, nil
-}
-
-// GreeterServer is the server API for Greeter service.
-type GreeterServer interface {
- // Sends a greeting
- SayHello(context.Context, *HelloRequest) (*User, error)
-}
-
-// UnimplementedGreeterServer can be embedded to have forward compatible implementations.
-type UnimplementedGreeterServer struct {
-}
-
-func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*User, error) {
- return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
-}
-
-func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {
- s.RegisterService(&_Greeter_serviceDesc, srv)
-}
-
-func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
- in := new(HelloRequest)
- if err := dec(in); err != nil {
- return nil, err
- }
- if interceptor == nil {
- return srv.(GreeterServer).SayHello(ctx, in)
- }
- info := &grpc.UnaryServerInfo{
- Server: srv,
- FullMethod: "/protobuf.Greeter/SayHello",
- }
- handler := func(ctx context.Context, req interface{}) (interface{}, error) {
- return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest))
- }
- return interceptor(ctx, in, info, handler)
-}
-
-var _Greeter_serviceDesc = grpc.ServiceDesc{
- ServiceName: "protobuf.Greeter",
- HandlerType: (*GreeterServer)(nil),
- Methods: []grpc.MethodDesc{
- {
- MethodName: "SayHello",
- Handler: _Greeter_SayHello_Handler,
- },
- },
- Streams: []grpc.StreamDesc{},
- Metadata: "helloworld.proto",
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x2c, 0x4e, 0xcc, 0x2d,
+ 0xc8, 0x49, 0x2d, 0x8e, 0x4f, 0x2c, 0xc8, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x4e,
+ 0x2c, 0xc8, 0x54, 0x52, 0xe2, 0xe2, 0xf1, 0x48, 0xcd, 0xc9, 0xc9, 0x0f, 0x4a, 0x2d, 0x2c, 0x4d,
+ 0x2d, 0x2e, 0x11, 0x12, 0xe2, 0x62, 0xc9, 0x4b, 0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0,
+ 0x0c, 0x02, 0xb3, 0x95, 0x6c, 0xb8, 0x58, 0x42, 0x8b, 0x53, 0x8b, 0xb0, 0xc9, 0x09, 0xf1, 0x71,
+ 0x31, 0x65, 0xa6, 0x48, 0x30, 0x81, 0x45, 0x98, 0x32, 0x53, 0x84, 0x04, 0xb8, 0x98, 0x13, 0xd3,
+ 0x53, 0x25, 0x98, 0x15, 0x18, 0x35, 0x58, 0x83, 0x40, 0x4c, 0x23, 0x53, 0x2e, 0x76, 0xf7, 0xa2,
+ 0xd4, 0xd4, 0x92, 0xd4, 0x22, 0x21, 0x2d, 0x2e, 0x8e, 0xe0, 0xc4, 0x4a, 0xb0, 0x7d, 0x42, 0x82,
+ 0x7a, 0x20, 0x97, 0x20, 0xdb, 0x2d, 0xc5, 0x09, 0x16, 0x02, 0x59, 0xa5, 0xc4, 0x90, 0xc4, 0x06,
+ 0x76, 0xa4, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x46, 0x82, 0xe3, 0x9f, 0xb9, 0x00, 0x00, 0x00,
}
type greeterDubbo3Client struct {
@@ -298,7 +213,7 @@ func _DUBBO_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
- FullMethod: "/protobuf.Greeter/SayHello",
+ FullMethod: "/api.Greeter/SayHello",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
result := base.GetProxyImpl().Invoke(context.Background(), invo)
@@ -309,7 +224,7 @@ func _DUBBO_Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec f
func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc {
return &grpc.ServiceDesc{
- ServiceName: "protobuf.Greeter",
+ ServiceName: "api.Greeter",
HandlerType: (*GreeterServer)(nil),
Methods: []grpc.MethodDesc{
{
@@ -318,6 +233,88 @@ func (s *GreeterProviderBase) ServiceDesc() *grpc.ServiceDesc {
},
},
Streams: []grpc.StreamDesc{},
- Metadata: "helloworld.proto",
+ Metadata: "samples_api.proto",
+ }
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConnInterface
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion6
+
+// GreeterClient is the client API for Greeter service.
+//
+// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
+type GreeterClient interface {
+ // Sends a greeting
+ SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error)
+}
+
+type greeterClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewGreeterClient(cc grpc.ClientConnInterface) GreeterClient {
+ return &greeterClient{cc}
+}
+
+func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
+ out := new(User)
+ err := c.cc.Invoke(ctx, "/api.Greeter/SayHello", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+// GreeterServer is the server API for Greeter service.
+type GreeterServer interface {
+ // Sends a greeting
+ SayHello(context.Context, *HelloRequest) (*User, error)
+}
+
+// UnimplementedGreeterServer can be embedded to have forward compatible implementations.
+type UnimplementedGreeterServer struct {
+}
+
+func (*UnimplementedGreeterServer) SayHello(ctx context.Context, req *HelloRequest) (*User, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SayHello not implemented")
+}
+
+func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {
+ s.RegisterService(&_Greeter_serviceDesc, srv)
+}
+
+func _Greeter_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(HelloRequest)
+ if err := dec(in); err != nil {
+ return nil, err
}
+ if interceptor == nil {
+ return srv.(GreeterServer).SayHello(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/api.Greeter/SayHello",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(GreeterServer).SayHello(ctx, req.(*HelloRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+var _Greeter_serviceDesc = grpc.ServiceDesc{
+ ServiceName: "api.Greeter",
+ HandlerType: (*GreeterServer)(nil),
+ Methods: []grpc.MethodDesc{
+ {
+ MethodName: "SayHello",
+ Handler: _Greeter_SayHello_Handler,
+ },
+ },
+ Streams: []grpc.StreamDesc{},
+ Metadata: "samples_api.proto",
}
diff --git a/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.proto b/api/samples_api.proto
similarity index 98%
rename from general/dubbo3/pb/dubbogo-java/protobuf/helloworld.proto
rename to api/samples_api.proto
index 92b2876..281a9d1 100644
--- a/general/dubbo3/pb/dubbogo-java/protobuf/helloworld.proto
+++ b/api/samples_api.proto
@@ -16,7 +16,7 @@
*/
syntax = "proto3";
-package protobuf;
+package api;
// The greeting service definition.
service Greeter {
diff --git a/async/README.md b/async/README.md
deleted file mode 100644
index 146da3a..0000000
--- a/async/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Async Sample
-
-### Background
-
-Dubbo-go provides not only synchronous invocation, but also asynchronous invocation on the consumer side. In order to
-use it, the client needs to implement the following interface to asynchronously receive the response from the service
-provider:
-
-```golang
-type AsyncCallbackService interface {
- CallBack(response CallbackResponse) // callback
-}
-```
-
-### Example
-
-**Code**
-
-```golang
-type UserProvider struct {
- GetUser func (ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) CallBack(res common.CallbackResponse) {
- fmt.Println("CallBack res:", res)
-}
-```
-
-**Configuration**
-
-Besides, client also needs to config **"async:true"** in consumer's yaml config file as following:
-
-```yaml
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- # this is necessary to enable async call
- async: true
-```
-
-Pls. refer to [HOWTO.md](../HOWTO.md) under the root directory to run this sample.
-
-
diff --git a/async/README_zh.md b/async/README_zh.md
deleted file mode 100644
index adcc836..0000000
--- a/async/README_zh.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Async 示例
-
-### 背景
-
-Dubbo-go 提供同步调用的同时,还提供了客户端异步调用的能力。客户端可以通过实现以下的接口来异步获得服务端返回的响应:
-
-
-```golang
-type AsyncCallbackService interface {
- CallBack(response CallbackResponse) // callback
-}
-```
-
-### 示例
-
-**代码**
-
-```golang
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) CallBack(res common.CallbackResponse) {
- fmt.Println("CallBack res:",res)
-}
-```
-
-**配置**
-
-提供回调方法的同时,还需要在客户端的配置中增加 **"async:true"** 的配置,如下所示:
-
-```yaml
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol : "dubbo"
- interface : "org.apache.dubbo.UserProvider"
- # this is necessary to enable async call
- async: true
-```
-
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
-
-
diff --git a/async/go-client/cmd/client.go b/async/go-client/cmd/client.go
deleted file mode 100644
index 58cc54c..0000000
--- a/async/go-client/cmd/client.go
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "context"
- "os"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/async/go-client/pkg"
-)
-
-var userProvider = pkg.NewUserProvider()
-
-func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
-}
-
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
- time.Sleep(3 * time.Second)
-
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
- }
-
- gxlog.CInfo("response result: %v\n", userProvider.GetResponse())
-}
diff --git a/async/go-client/conf/client.yml b/async/go-client/conf/client.yml
deleted file mode 100644
index 0f09e70..0000000
--- a/async/go-client/conf/client.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout : "3s"
-# connect timeout
-connect_timeout : "3s"
-
-# application config
-application:
- organization : "dubbo.io"
- name : "UserInfoClient"
- module : "dubbo-go user-info client"
- version : "0.0.1"
- environment : "dev"
-
-# registry config
-registries :
- "demoZk":
- protocol: "zookeeper"
- timeout : "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol : "dubbo"
- interface : "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods :
- - name: "GetUser"
- retries: 3
- # this is necessary to enable async call
- async: true
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/async/go-client/conf/log.yml b/async/go-client/conf/log.yml
deleted file mode 100644
index 6fb7501..0000000
--- a/async/go-client/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "info"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/async/go-client/pkg/user.go b/async/go-client/pkg/user.go
deleted file mode 100644
index b9c400b..0000000
--- a/async/go-client/pkg/user.go
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/common"
- "dubbo.apache.org/dubbo-go/v3/protocol"
- "dubbo.apache.org/dubbo-go/v3/remoting"
-
- gxlog "github.com/dubbogo/gost/log"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
- ch chan *User
-}
-
-func NewUserProvider() *UserProvider {
- return &UserProvider{
- ch: make(chan *User),
- }
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-// to enable async call:
-// 1. need to implement AsyncCallbackService
-// 2. need to specify references -> UserProvider -> async in conf/client.yml
-func (u *UserProvider) CallBack(res common.CallbackResponse) {
- gxlog.CInfo("CallBack res: %v", res)
- if r, ok := res.(remoting.AsyncCallbackResponse); ok {
- if reply, ok := r.Reply.(*remoting.Response); ok {
- if result, ok := reply.Result.(*protocol.RPCResult); ok {
- if user, ok := result.Rest.(*User); ok {
- u.ch <- user
- }
- }
- }
- }
- u.ch <- nil
-}
-
-func (u *UserProvider) GetResponse() *User {
- user := <-u.ch
- return user
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/async/go-server/cmd/server.go b/async/go-server/cmd/server.go
deleted file mode 100644
index 9954313..0000000
--- a/async/go-server/cmd/server.go
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- "dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/async/go-server/pkg"
-)
-
-var (
- survivalTimeout = int(3e9)
-)
-
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
-
- initSignal()
-}
-
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
-
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
- }
-}
diff --git a/async/go-server/conf/client.yml b/async/go-server/conf/client.yml
deleted file mode 100644
index 4193953..0000000
--- a/async/go-server/conf/client.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout : "3s"
-# connect timeout
-connect_timeout : "3s"
-
-# application config
-application:
- organization : "dubbo.io"
- name : "UserInfoTest"
- module : "dubbo-go user-info client"
- version : "0.0.1"
- environment : "dev"
-
-# registry config
-registries :
- "demoZk":
- protocol: "zookeeper"
- timeout : "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol : "dubbo"
- interface : "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods :
- - name: "GetUser"
- retries: 3
- # this is necessary to enable async call
- async : true
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/async/go-server/conf/log.yml b/async/go-server/conf/log.yml
deleted file mode 100644
index a75bccb..0000000
--- a/async/go-server/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/async/go-server/conf/server.yml b/async/go-server/conf/server.yml
deleted file mode 100644
index 6e8970c..0000000
--- a/async/go-server/conf/server.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization : "dubbo.io"
- name : "UserInfoServer"
- module : "dubbo-go user-info server"
- version : "0.0.1"
- environment : "dev"
-
-# registry config
-registries :
- "demoZk":
- protocol: "zookeeper"
- timeout : "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol : "dubbo"
- interface : "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/async/go-server/docker/docker-compose.yml b/async/go-server/docker/docker-compose.yml
deleted file mode 100644
index 8724179..0000000
--- a/async/go-server/docker/docker-compose.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/async/go-server/docker/docker-health-check.sh b/async/go-server/docker/docker-health-check.sh
deleted file mode 100644
index 2cc32c2..0000000
--- a/async/go-server/docker/docker-health-check.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-curl 127.0.0.1:2181
-res=$?
-passCode=52
-while [ "$res" != "$passCode" ];do
- sleep 5
- curl 127.0.0.1:2181
- res=$?
-done
-
-sleep 5
diff --git a/async/go-server/pkg/user.go b/async/go-server/pkg/user.go
deleted file mode 100644
index 75d0916..0000000
--- a/async/go-server/pkg/user.go
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/async/go-server/tests/integration/main_test.go b/async/go-server/tests/integration/main_test.go
deleted file mode 100644
index e445185..0000000
--- a/async/go-server/tests/integration/main_test.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "os"
- "testing"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/common"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
- "dubbo.apache.org/dubbo-go/v3/protocol"
- "dubbo.apache.org/dubbo-go/v3/remoting"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- gxlog "github.com/dubbogo/gost/log"
-)
-
-var userProvider = &UserProvider{
- ch: make(chan *User),
-}
-
-func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
- config.Load()
- time.Sleep(3 * time.Second)
-
- os.Exit(m.Run())
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
- ch chan *User
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-// to enable async call:
-// 1. need to implement AsyncCallbackService
-// 2. need to specify references -> UserProvider -> async in conf/client.yml
-func (u *UserProvider) CallBack(res common.CallbackResponse) {
- gxlog.CInfo("CallBack res: %v", res)
- if r, ok := res.(remoting.AsyncCallbackResponse); ok {
- if reply, ok := r.Reply.(*remoting.Response); ok {
- if result, ok := reply.Result.(*protocol.RPCResult); ok {
- if user, ok := result.Rest.(*User); ok {
- u.ch <- user
- }
- }
- }
- }
- u.ch <- nil
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/async/go-server/tests/integration/userprovider_test.go b/async/go-server/tests/integration/userprovider_test.go
deleted file mode 100644
index adf0e7f..0000000
--- a/async/go-server/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,54 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "testing"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- assert.Nil(t, err)
- assert.Equal(t, "", user.ID)
- assert.Equal(t, "", user.Name)
- assert.Equal(t, int32(0), user.Age)
-
- user = <-userProvider.ch
-
- assert.NotNil(t, user)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
-}
diff --git a/attachment/README.md b/attachment/README.md
deleted file mode 100644
index ad54751..0000000
--- a/attachment/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Attachment Example
-
-### Background
-
-A Dubbo client can pass user data to the remote Dubbo server via attachment. Dubbo-go leverages `context.Context` as the attachment between consumer and provider. In order to use attachment, a `context.Context` is required to introduce as the first parameter of the service method, for example:
-
-```go
-GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-```
-
-To pass the user data from the client side, a `map[string]interface{}` should be put into the `context.Context` with the key "attachment". The following code snippet shows how a user data "timestamp" is put into the attachment:
-
-```go
-ctx := context.WithValue(context.Background(), constant.AttachmentKey,
- map[string]interface{}{"timestamp": time.Now()})
-err := userProvider.GetUser(ctx, []interface{}{"A001"}, user)
-```
-
-On the provider side, a `context.Context` is passed as the first parameter along with the user data. Here below the code from the current samples shows how the service method is implemented, and how the user data is fetched from the attachment:
-
-```go
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- t := time.Now()
- attachment := ctx.Value(constant.AttachmentKey).(map[string]interface{})
- if v, ok := attachment["timestamp"]; ok {
- t = v.(time.Time).Add(-1 * 365 * 24 * time.Hour)
- }
-
- rsp := User{"A001", "Alex Stocks", 18, t}
- return &rsp, nil
-}
-```
-
-Pls. refer to [HOWTO.md](../HOWTO.md) under the root directory to run this sample.
-
diff --git a/attachment/README_zh.md b/attachment/README_zh.md
deleted file mode 100644
index 305bb1f..0000000
--- a/attachment/README_zh.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# Attachment 示例
-
-### 背景
-
-可以通过 attachment 把用户的数据从 Dubbo 的客户端传递给服务端。在 Dubbo-go 中,attachment 在二者之间的传递是通过 `context.Context` 的机制来完成的。如果要使用 attachment,那么应当把 `context.Context` 作为要调用的服务方法的第一个参数,例如:
-
-```go
-GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-```
-
-为了在客户端传递用户数据到服务端,首先需要在方法的第一个参数 `context.Context` 中放入一个 `map[string]interface{}` 的数据类型,该数据的 Key 值约定为 "attachment"。以下的代码片段展示了如何把用户自定义的的一个时间戳通过该 map 中的 "timestamp" 放入 attachment 中:
-
-```go
-ctx := context.WithValue(context.Background(), constant.AttachmentKey,
- map[string]interface{}{"timestamp": time.Now()})
-err := userProvider.GetUser(ctx, []interface{}{"A001"}, user)
-```
-
-在服务提供方,方法的第一个参数 `context.Context` 传入时携带了用户在客户端放入的自定义数据。下面的代码就是本例子中的服务端实现,主要展示了如何从 attachment 中提取用户自定义的数据:
-
-
-```go
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- t := time.Now()
- attachment := ctx.Value(constant.AttachmentKey).(map[string]interface{})
- if v, ok := attachment["timestamp"]; ok {
- t = v.(time.Time).Add(-1 * 365 * 24 * time.Hour)
- }
-
- rsp := User{"A001", "Alex Stocks", 18, t}
- return &rsp, nil
-}
-```
-
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
-
-
diff --git a/attachment/go-client/cmd/client.go b/attachment/go-client/cmd/client.go
deleted file mode 100644
index 14313d4..0000000
--- a/attachment/go-client/cmd/client.go
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "context"
- "os"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- "dubbo.apache.org/dubbo-go/v3/common/constant"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/attachment/go-client/pkg"
-)
-
-var userProvider = new(pkg.UserProvider)
-
-func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
-}
-
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
- time.Sleep(3 * time.Second)
-
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- ctx := context.WithValue(context.Background(), constant.AttachmentKey, map[string]interface{}{"timestamp": time.Now()})
- err := userProvider.GetUser(ctx, []interface{}{"A001"}, user)
- if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
- }
- gxlog.CInfo("response result: %v\n", user)
-}
diff --git a/attachment/go-client/conf/client.yml b/attachment/go-client/conf/client.yml
deleted file mode 100644
index 958a65b..0000000
--- a/attachment/go-client/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoClient"
- module: "dubbo-go attachment client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/attachment/go-client/conf/log.yml b/attachment/go-client/conf/log.yml
deleted file mode 100644
index 2b6e93a..0000000
--- a/attachment/go-client/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/attachment/go-client/pkg/user.go b/attachment/go-client/pkg/user.go
deleted file mode 100644
index 7733ea4..0000000
--- a/attachment/go-client/pkg/user.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/attachment/go-server/cmd/server.go b/attachment/go-server/cmd/server.go
deleted file mode 100644
index 351fe89..0000000
--- a/attachment/go-server/cmd/server.go
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- "dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/attachment/go-server/pkg"
-)
-
-var (
- survivalTimeout = int(3e9)
-)
-
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
- logger.Info("dubbo-go server started.")
-
- initSignal()
-}
-
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
-
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
- }
-}
diff --git a/attachment/go-server/conf/client.yml b/attachment/go-server/conf/client.yml
deleted file mode 100644
index e9e8cbf..0000000
--- a/attachment/go-server/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoTest"
- module: "dubbo-go attachment consumer"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/attachment/go-server/conf/log.yml b/attachment/go-server/conf/log.yml
deleted file mode 100644
index 970d988..0000000
--- a/attachment/go-server/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/attachment/go-server/conf/server.yml b/attachment/go-server/conf/server.yml
deleted file mode 100644
index 0af09bb..0000000
--- a/attachment/go-server/conf/server.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "AttachmentProvider"
- module: "dubbo-go attachment provider"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/attachment/go-server/docker/docker-compose.yml b/attachment/go-server/docker/docker-compose.yml
deleted file mode 100644
index 8724179..0000000
--- a/attachment/go-server/docker/docker-compose.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/attachment/go-server/docker/docker-health-check.sh b/attachment/go-server/docker/docker-health-check.sh
deleted file mode 100644
index 2cc32c2..0000000
--- a/attachment/go-server/docker/docker-health-check.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-curl 127.0.0.1:2181
-res=$?
-passCode=52
-while [ "$res" != "$passCode" ];do
- sleep 5
- curl 127.0.0.1:2181
- res=$?
-done
-
-sleep 5
diff --git a/attachment/go-server/pkg/user.go b/attachment/go-server/pkg/user.go
deleted file mode 100644
index 465ac72..0000000
--- a/attachment/go-server/pkg/user.go
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/common/constant"
- "dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
-
- t := time.Now()
- attachment := ctx.Value(constant.AttachmentKey).(map[string]interface{})
- if v, ok := attachment["timestamp"]; ok {
- gxlog.CInfo("attachment: %v", v)
- t = v.(time.Time).Add(-1 * 365 * 24 * time.Hour)
- }
-
- rsp := User{"A001", "Alex Stocks", 18, t}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/attachment/go-server/tests/integration/main_test.go b/attachment/go-server/tests/integration/main_test.go
deleted file mode 100644
index d028c55..0000000
--- a/attachment/go-server/tests/integration/main_test.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "os"
- "testing"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-var userProvider = new(UserProvider)
-
-func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
- config.Load()
- time.Sleep(3 * time.Second)
-
- os.Exit(m.Run())
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/attachment/go-server/tests/integration/userprovider_test.go b/attachment/go-server/tests/integration/userprovider_test.go
deleted file mode 100644
index fdb38b3..0000000
--- a/attachment/go-server/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "testing"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/common/constant"
-
- "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
- user := &User{}
- timestamp := time.Now()
- ctx := context.WithValue(context.Background(), constant.AttachmentKey, map[string]interface{}{"timestamp": timestamp})
- err := userProvider.GetUser(ctx, []interface{}{"A001"}, user)
-
- assert.Nil(t, err)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
- assert.True(t, user.Time.Before(timestamp))
-
- t.Logf("consumer timestamp: %v", timestamp)
- t.Logf("provider timestamp: %v", user.Time)
-}
diff --git a/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/env.sh b/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/env.sh
deleted file mode 100644
index 4ac7e80..0000000
--- a/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/env.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-export CONF_CONSUMER_FILE_PATH="../conf/client.yml"
-export APP_LOG_CONF_FILE="../conf/log.yml"
\ No newline at end of file
diff --git a/general/dubbo3/pb/dubbogo-java/protobuf/protobuf.mk b/general/dubbo3/pb/dubbogo-java/protobuf/protobuf.mk
deleted file mode 100644
index 5680c3d..0000000
--- a/general/dubbo3/pb/dubbogo-java/protobuf/protobuf.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-.PHONY: compile
-PROTOC_GEN_GO := $(GOPATH)/bin/protoc-gen-go
-PROTOC := $(shell which protoc)
-ifeq ($(PROTOC),)
- PROTOC = must-rebuild
-endif
-
-UNAME := $(shell uname)
-
-$(PROTOC):
-ifeq ($(UNAME), Darwin)
- brew install protobuf
-endif
-ifeq ($(UNAME), Linux)
- sudo apt-get install protobuf-compiler
-endif
-
-$(PROTOC_GEN_GO):
- go get -u dubbo.apache.org/dubbo-go/v3/protocol/dubbo3/protoc-gen-dubbo3
-
-helloworld.pb.go: helloworld.proto | $(PROTOC_GEN_GO) $(PROTOC)
- protoc -I . helloworld.proto --dubbo3_out=plugins=grpc+dubbo:.
-
-.PHONY: compile
-compile: helloworld.pb.go
-
diff --git a/generic/README.md b/generic/README.md
index f22fe37..5f5943e 100644
--- a/generic/README.md
+++ b/generic/README.md
@@ -36,17 +36,17 @@ cd ./default/go-client/cmd \
### Protobuf Json (Disabled)
-The case for Protobuf Json is at `protobufjson` directory. The first step is to generate struct definitions with proto file. (The `user.pb.go` is generated for integrated tests, but we highly recommend you generate by yourself.)
+The case for Protobuf Json is at `protobufjson` directory. The first step is to generate struct definitions with proto file. (The `user.api.go` is generated for integrated tests, but we highly recommend you generate by yourself.)
```shell
cd ./protobufjson \
&& protoc --go_out=. user.proto
```
-Copy `user.pb.go` file generated by protobuf to provider.
+Copy `user.api.go` file generated by protobuf to provider.
```shell
-mv ./protobufjson/user.pb.go ./protobufjson/go-server/pkg
+mv ./protobufjson/user.api.go ./protobufjson/go-server/pkg
```
Launch the provider by the following code.
diff --git a/generic/README_zh.md b/generic/README_zh.md
index 3587dc7..043bcbc 100644
--- a/generic/README_zh.md
+++ b/generic/README_zh.md
@@ -36,17 +36,17 @@ cd ./default/go-client/cmd \
### Protobuf Json (暂时禁用)
-Protobuf Json的例子放在`protobufjson`文件夹中。首先需要根据proto文件生成结构体定义。(注:`user.pb.go`已经生成,这是为了CI的集成测试使用的,但是我们仍然强烈建议你自己生成一次。)
+Protobuf Json的例子放在`protobufjson`文件夹中。首先需要根据proto文件生成结构体定义。(注:`user.api.go`已经生成,这是为了CI的集成测试使用的,但是我们仍然强烈建议你自己生成一次。)
```shell
cd ./protobufjson \
&& protoc --go_out=. user.proto
```
-拷贝`user.pb.go`文件到提供者文件夹。
+拷贝`user.api.go`文件到提供者文件夹。
```shell
-mv ./protobufjson/user.pb.go ./protobufjson/go-server/pkg
+mv ./protobufjson/user.api.go ./protobufjson/go-server/pkg
```
通过下面的代码启动提供者。
diff --git a/go.mod b/go.mod
index 590b9e6..16b4114 100644
--- a/go.mod
+++ b/go.mod
@@ -1,14 +1,14 @@
module github.com/apache/dubbo-go-samples
require (
- dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612
+ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210821071019-8cb93935d529
github.com/alibaba/sentinel-golang v1.0.2
github.com/apache/dubbo-getty v1.4.3
github.com/apache/dubbo-go-hessian2 v1.9.2
github.com/bwmarrin/snowflake v0.3.0
- github.com/dubbogo/gost v1.11.14
+ github.com/dubbogo/gost v1.11.16
github.com/dubbogo/net v0.0.3
- github.com/dubbogo/triple v1.0.1
+ github.com/dubbogo/triple v1.0.5
github.com/emicklei/go-restful/v3 v3.4.0
github.com/golang/protobuf v1.5.2
github.com/opentracing/opentracing-go v1.2.0
@@ -20,12 +20,11 @@ require (
github.com/transaction-wg/seata-golang v0.2.0
github.com/uber/jaeger-client-go v2.22.1+incompatible
github.com/uber/jaeger-lib v2.2.0+incompatible // indirect
+ golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect
google.golang.org/grpc v1.38.0
- google.golang.org/protobuf v1.26.0
+ google.golang.org/protobuf v1.27.1
)
replace github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
-// replace dubbo.apache.org/dubbo-go/v3 => /Users/docker/code/github/go/dubbo-go
-
go 1.13
diff --git a/go.sum b/go.sum
index da228e9..89d7e37 100644
--- a/go.sum
+++ b/go.sum
@@ -12,6 +12,8 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210821071019-8cb93935d529 h1:bIIKczliDGFh9ZHVwOr5NPZKvbAF5XLNeHRDc2/ifsA=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210821071019-8cb93935d529/go.mod h1:EE3h5Dj/YxLm4hDnMsJ3MI50jHqZ3HJqE6IkdUKg4wc=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
@@ -143,13 +145,14 @@ github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4D
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
github.com/dubbogo/gost v1.11.13/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
-github.com/dubbogo/gost v1.11.14 h1:9lfcdILOmqTOVAW1fPHa5uf1NrD6jlIOBe4vf8576yQ=
-github.com/dubbogo/gost v1.11.14/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
+github.com/dubbogo/gost v1.11.16 h1:fvOw8aKQ0BuUYuD+MaXAYFvT7tg2l7WAS5SL5gZJpFs=
+github.com/dubbogo/gost v1.11.16/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
github.com/dubbogo/net v0.0.3 h1:2k53mh+1U8h1gFjJ8ykzyP4wNdAdgjc5moD+xVHI/AE=
github.com/dubbogo/net v0.0.3/go.mod h1:B6/ka3g8VzcyrmdCH4VkHP1K0aHeI37FmclS+TCwIBU=
-github.com/dubbogo/triple v1.0.1 h1:fdBkXTR0I4UBBCDcN+k22uJWU338ZK5mvOPpIBIL5h8=
github.com/dubbogo/triple v1.0.1/go.mod h1:O6vQD2XLCWugzAk0P27HTW4+Uhkd8sjaQn0BZijdGzU=
+github.com/dubbogo/triple v1.0.5 h1:bDASS3u0ILC+KaUmWaDDuZ7/pVZcljyO/1TkwXMvcsM=
+github.com/dubbogo/triple v1.0.5/go.mod h1:tCl0mV54+V8Br9z71sFbS1IQUG41QKZUrW6FGaLheM0=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
@@ -821,8 +824,9 @@ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U=
golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -997,8 +1001,9 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/helloworld/README.md b/helloworld/README.md
index 893a170..81616fa 100644
--- a/helloworld/README.md
+++ b/helloworld/README.md
@@ -1,20 +1,21 @@
# Helloworld for Dubbo-go 3.0
-For pb definition and go client and server startup, please refer to [dubbogo-grpc](../dubbogo-grpc/README.md)
+For api definition and go client and server startup, please refer to [dubbo-go 3.0 quickstart](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart.html)
## Instructions
+1. Start zookeeper
-1. Start the server
+2. Start the server
-Use goland to start triple/gojava-go-server
+Use goland to start helloworld-go-server
or
Execute `sh run.sh` in the java-server folder to start the java server
-2. Start the client
+3. Start the client
-Use goland to start triple/gojava-go-client
+Use goland to start helloworld-go-client
or
diff --git a/helloworld/README_zh.md b/helloworld/README_zh.md
index d280c2e..a682c27 100644
--- a/helloworld/README_zh.md
+++ b/helloworld/README_zh.md
@@ -1,20 +1,21 @@
# Helloworld for Dubbo-go 3.0
-pb 定义以及 go 客户端、服务端启动,可以参考 [dubbogo-grpc](../dubbogo-grpc/README_zh.md)
+api 定义以及 go 客户端、服务端启动,可以参考 [dubbo-go 3.0 快速开始](https://dubbogo.github.io/zh-cn/docs/user/quickstart/3.0/quickstart.html)
## 使用方法
+1. 启动 zookeeper
-1. 启动服务端
+2. 启动服务端
-使用 goland 启动 triple/gojava-go-server
+使用 goland 启动 helloworld-go-server
或者
在 java-server 文件夹下执行 `sh run.sh` 启动 java server
-2. 启动客户端
+3. 启动客户端
-使用 goland 启动 triple/gojava-go-client
+使用 goland 启动 helloworld-go-client
或者
diff --git a/helloworld/go-client/cmd/client.go b/helloworld/go-client/cmd/client.go
index 3f40b44..68fe2c0 100644
--- a/helloworld/go-client/cmd/client.go
+++ b/helloworld/go-client/cmd/client.go
@@ -19,50 +19,37 @@ package main
import (
"context"
- "fmt"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
+ "github.com/apache/dubbo-go-samples/api"
)
-var grpcGreeterImpl = new(pb.GreeterClientImpl)
+var grpcGreeterImpl = new(api.GreeterClientImpl)
func init() {
config.SetConsumerService(grpcGreeterImpl)
}
-// deprecated: need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-// or config.Load(config.Path("..."))
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
func main() {
config.Load()
time.Sleep(3 * time.Second)
- fmt.Println("\n\n\nstart to test dubbo")
- req := &pb.HelloRequest{
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
Name: "laurence",
}
-
- reply := &pb.User{}
-
- ctx := context.Background()
- ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
-
- err := grpcGreeterImpl.SayHello(ctx, req, reply)
- if err != nil {
- panic(err)
+ reply := &api.User{}
+ if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ logger.Error(err)
}
- fmt.Printf("client response result: %v\n", reply)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/helloworld/go-client/conf/client.yml b/helloworld/go-client/conf/dubbogo.yml
similarity index 67%
copy from helloworld/go-client/conf/client.yml
copy to helloworld/go-client/conf/dubbogo.yml
index 64b8ae1..c11aef3 100644
--- a/helloworld/go-client/conf/client.yml
+++ b/helloworld/go-client/conf/dubbogo.yml
@@ -10,4 +10,4 @@ dubbo:
references:
"greeterImpl":
protocol: "tri"
- interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/helloworld/go-server/cmd/server.go b/helloworld/go-server/cmd/server.go
index 68ac7ac..4f23c26 100644
--- a/helloworld/go-server/cmd/server.go
+++ b/helloworld/go-server/cmd/server.go
@@ -18,22 +18,30 @@
package main
import (
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "context"
+)
+
+import (
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/helloworld/go-server/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
-// deprecated: need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-// config.Load(config.Path("..."))
+type GreeterProvider struct {
+ api.GreeterProviderBase
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
+
func main() {
- config.SetProviderService(pkg.NewGreeterProvider())
+ config.SetProviderService(&GreeterProvider{})
config.Load()
select {}
}
diff --git a/helloworld/go-server/conf/server.yml b/helloworld/go-server/conf/dubbogo.yml
similarity index 72%
copy from helloworld/go-server/conf/server.yml
copy to helloworld/go-server/conf/dubbogo.yml
index a435688..5e9cfb4 100644
--- a/helloworld/go-server/conf/server.yml
+++ b/helloworld/go-server/conf/dubbogo.yml
@@ -14,4 +14,4 @@ dubbo:
services:
"greeterImpl":
protocol: "triple"
- interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/helloworld/go-server/pkg/greeter.go b/helloworld/go-server/pkg/greeter.go
deleted file mode 100644
index 08b393a..0000000
--- a/helloworld/go-server/pkg/greeter.go
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements. See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to You under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package pkg
-
-import (
- "context"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/common/logger"
-)
-
-import (
- pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
-)
-
-type GreeterProvider struct {
- *pb.GreeterProviderBase
-}
-
-func NewGreeterProvider() *GreeterProvider {
- return &GreeterProvider{
- GreeterProviderBase: &pb.GreeterProviderBase{},
- }
-}
-
-func (s *GreeterProvider) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.User, error) {
- logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
- return &pb.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
-}
diff --git a/helloworld/java-client/pom.xml b/helloworld/java-client/pom.xml
index 10ae5bb..4cf91bd 100644
--- a/helloworld/java-client/pom.xml
+++ b/helloworld/java-client/pom.xml
@@ -27,7 +27,7 @@
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <dubbo.version>3.0.0</dubbo.version>
+ <dubbo.version>3.0.2</dubbo.version>
<junit.version>4.12</junit.version>
<spring-test.version>4.3.16.RELEASE</spring-test.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
diff --git a/helloworld/java-server/pom.xml b/helloworld/java-server/pom.xml
index dd518ca..bac62e9 100644
--- a/helloworld/java-server/pom.xml
+++ b/helloworld/java-server/pom.xml
@@ -29,7 +29,7 @@
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <dubbo.version>3.0.0</dubbo.version>
+ <dubbo.version>3.0.2</dubbo.version>
<junit.version>4.12</junit.version>
<spring-test.version>4.3.16.RELEASE</spring-test.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
diff --git a/registry/zookeeper/go-server/docker/docker-compose.yml b/integrate_test/helloworld/docker/docker-compose.yml
similarity index 100%
rename from registry/zookeeper/go-server/docker/docker-compose.yml
rename to integrate_test/helloworld/docker/docker-compose.yml
diff --git a/helloworld/go-server/tests/integration/main_test.go b/integrate_test/helloworld/tests/integration/main_test.go
similarity index 95%
rename from helloworld/go-server/tests/integration/main_test.go
rename to integrate_test/helloworld/tests/integration/main_test.go
index c739d6c..d8a0568 100644
--- a/helloworld/go-server/tests/integration/main_test.go
+++ b/integrate_test/helloworld/tests/integration/main_test.go
@@ -38,7 +38,7 @@ import (
)
import (
- dubbo3pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
)
var greeterProvider = new(dubbo3pb.GreeterClientImpl)
diff --git a/helloworld/go-server/tests/integration/userprovider_test.go b/integrate_test/helloworld/tests/integration/userprovider_test.go
similarity index 95%
rename from helloworld/go-server/tests/integration/userprovider_test.go
rename to integrate_test/helloworld/tests/integration/userprovider_test.go
index 01a7855..992c55d 100644
--- a/helloworld/go-server/tests/integration/userprovider_test.go
+++ b/integrate_test/helloworld/tests/integration/userprovider_test.go
@@ -29,7 +29,7 @@ import (
)
import (
- dubbo3pb "github.com/apache/dubbo-go-samples/helloworld/protobuf"
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
)
func TestSayHello(t *testing.T) {
diff --git a/helloworld/go-server/docker/docker-compose.yml b/integrate_test/registry/zookeeper/docker/docker-compose.yml
similarity index 100%
rename from helloworld/go-server/docker/docker-compose.yml
rename to integrate_test/registry/zookeeper/docker/docker-compose.yml
diff --git a/registry/zookeeper/go-server/docker/docker-health-check.sh b/integrate_test/registry/zookeeper/docker/docker-health-check.sh
similarity index 100%
rename from registry/zookeeper/go-server/docker/docker-health-check.sh
rename to integrate_test/registry/zookeeper/docker/docker-health-check.sh
diff --git a/registry/zookeeper/go-server/tests/integration/main_test.go b/integrate_test/registry/zookeeper/tests/integration/main_test.go
similarity index 100%
rename from registry/zookeeper/go-server/tests/integration/main_test.go
rename to integrate_test/registry/zookeeper/tests/integration/main_test.go
diff --git a/registry/zookeeper/go-server/tests/integration/userprovider_test.go b/integrate_test/registry/zookeeper/tests/integration/userprovider_test.go
similarity index 100%
rename from registry/zookeeper/go-server/tests/integration/userprovider_test.go
rename to integrate_test/registry/zookeeper/tests/integration/userprovider_test.go
diff --git a/logger/go-server/cmd/server.go b/logger/go-server/cmd/server.go
index 5fe60e0..d26cdf2 100755
--- a/logger/go-server/cmd/server.go
+++ b/logger/go-server/cmd/server.go
@@ -40,7 +40,7 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/helloworld/go-server/pkg"
+ "github.com/apache/dubbo-go-samples/logger/go-server/pkg"
)
var (
diff --git a/registry/zookeeper/go-client/cmd/client.go b/registry/zookeeper/go-client/cmd/client.go
index 1735077..a7cb8cd 100644
--- a/registry/zookeeper/go-client/cmd/client.go
+++ b/registry/zookeeper/go-client/cmd/client.go
@@ -19,49 +19,40 @@ package main
import (
"context"
- "os"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- gxlog "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/registry/zookeeper/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(pkg.UserProvider)
+var grpcGreeterImpl = new(api.GreeterClientImpl)
func init() {
- config.SetConsumerService(userProvider)
-
+ config.SetConsumerService(grpcGreeterImpl)
}
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml if needed
func main() {
- path := "./registry/zookeeper/go-client/conf/application.yml"
+ path := "./registry/zookeeper/go-client/conf/dubbogo.yml"
if err := config.Load(config.WithPath(path)); err != nil {
panic(err)
}
time.Sleep(3 * time.Second)
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply := &api.User{}
+ if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ logger.Error(err)
}
- gxlog.CInfo("response result: %v\n", user)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/registry/zookeeper/go-client/conf/application.yml b/registry/zookeeper/go-client/conf/application.yml
deleted file mode 100644
index 9e84b93..0000000
--- a/registry/zookeeper/go-client/conf/application.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-dubbo:
- registries:
- zk:
- timeout: 10s
- address: zookeeper://127.0.0.1:2181
- protocols:
- dubbo:
- name: dubbo
- port: 20000
- consumer:
- check: false
- references:
- UserProvider:
- registry: zk
- protocol: dubbo
- interface: org.apache.dubbo.UserService
- cluster: failover
- methods:
- - name: GetUser
- retries: 3
\ No newline at end of file
diff --git a/helloworld/go-client/conf/client.yml b/registry/zookeeper/go-client/conf/dubbogo.yml
similarity index 67%
rename from helloworld/go-client/conf/client.yml
rename to registry/zookeeper/go-client/conf/dubbogo.yml
index 64b8ae1..c11aef3 100644
--- a/helloworld/go-client/conf/client.yml
+++ b/registry/zookeeper/go-client/conf/dubbogo.yml
@@ -10,4 +10,4 @@ dubbo:
references:
"greeterImpl":
protocol: "tri"
- interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/registry/zookeeper/go-client/pkg/user.go b/registry/zookeeper/go-client/pkg/user.go
deleted file mode 100644
index dac6ccf..0000000
--- a/registry/zookeeper/go-client/pkg/user.go
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import "github.com/apache/dubbo-go-hessian2"
-
-func init() {
- hessian.RegisterPOJO(new(User))
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/registry/zookeeper/go-server/cmd/server.go b/registry/zookeeper/go-server/cmd/server.go
index fb82cfa..ffe7f46 100644
--- a/registry/zookeeper/go-server/cmd/server.go
+++ b/registry/zookeeper/go-server/cmd/server.go
@@ -18,8 +18,8 @@
package main
import (
+ "context"
"fmt"
- "github.com/apache/dubbo-go-samples/registry/zookeeper/go-server/pkg"
"os"
"os/signal"
"syscall"
@@ -27,26 +27,32 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
+)
+
+import (
+ "github.com/apache/dubbo-go-samples/api"
)
var (
survivalTimeout = int(3e9)
)
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
+type GreeterProvider struct {
+ api.GreeterProviderBase
+}
+
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
+
func main() {
- config.SetProviderService(new(pkg.UserProvider))
+ config.SetProviderService(&GreeterProvider{})
- path := "./registry/zookeeper/go-server/conf/server.yml"
+ path := "./registry/zookeeper/go-server/conf/dubbogo.yml"
if err := config.Load(config.WithPath(path)); err != nil {
panic(err)
diff --git a/helloworld/go-server/conf/server.yml b/registry/zookeeper/go-server/conf/dubbogo.yml
similarity index 72%
rename from helloworld/go-server/conf/server.yml
rename to registry/zookeeper/go-server/conf/dubbogo.yml
index a435688..5e9cfb4 100644
--- a/helloworld/go-server/conf/server.yml
+++ b/registry/zookeeper/go-server/conf/dubbogo.yml
@@ -14,4 +14,4 @@ dubbo:
services:
"greeterImpl":
protocol: "triple"
- interface: "protobuf.Greeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
+ interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/registry/zookeeper/go-server/conf/server.yml b/registry/zookeeper/go-server/conf/server.yml
deleted file mode 100644
index bb45535..0000000
--- a/registry/zookeeper/go-server/conf/server.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-dubbo:
- registries:
- zk:
- timeout: 10s
- address: zookeeper://127.0.0.1:2181
- protocols:
- dubbo:
- name: dubbo
- port: 20000
- provider:
- register: true
- registry: zk
- services:
- UserProvider:
- registry: zk
- protocol: dubbo
- interface: org.apache.dubbo.UserService
- loadbalance: random
- warmup: 100
- cluster: failover
- methods:
- - name: GetUser
- retries: 1
- loadbalance: random
\ No newline at end of file
diff --git a/registry/zookeeper/go-server/pkg/user.go b/registry/zookeeper/go-server/pkg/user.go
deleted file mode 100644
index e9c2e56..0000000
--- a/registry/zookeeper/go-server/pkg/user.go
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- hessian "github.com/apache/dubbo-go-hessian2"
- "time"
-)
-
-import (
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- hessian.RegisterPOJO(new(User))
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/general/dubbo/go-client/cmd/client.go b/rpc/dubbo/go-client/cmd/client.go
similarity index 100%
rename from general/dubbo/go-client/cmd/client.go
rename to rpc/dubbo/go-client/cmd/client.go
diff --git a/general/dubbo/go-client/conf/client.yml b/rpc/dubbo/go-client/conf/client.yml
similarity index 100%
rename from general/dubbo/go-client/conf/client.yml
rename to rpc/dubbo/go-client/conf/client.yml
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/conf/log.yml b/rpc/dubbo/go-client/conf/log.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/conf/log.yml
rename to rpc/dubbo/go-client/conf/log.yml
diff --git a/general/dubbo/go-client/pkg/user.go b/rpc/dubbo/go-client/pkg/user.go
similarity index 100%
rename from general/dubbo/go-client/pkg/user.go
rename to rpc/dubbo/go-client/pkg/user.go
diff --git a/general/dubbo/go-server/cmd/server.go b/rpc/dubbo/go-server/cmd/server.go
similarity index 100%
rename from general/dubbo/go-server/cmd/server.go
rename to rpc/dubbo/go-server/cmd/server.go
diff --git a/general/dubbo/go-server/conf/client.yml b/rpc/dubbo/go-server/conf/client.yml
similarity index 100%
rename from general/dubbo/go-server/conf/client.yml
rename to rpc/dubbo/go-server/conf/client.yml
diff --git a/general/dubbo3/pb/dubbogo-java/go-client/conf/log.yml b/rpc/dubbo/go-server/conf/log.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-client/conf/log.yml
rename to rpc/dubbo/go-server/conf/log.yml
diff --git a/general/dubbo/go-server/conf/server.yml b/rpc/dubbo/go-server/conf/server.yml
similarity index 100%
rename from general/dubbo/go-server/conf/server.yml
rename to rpc/dubbo/go-server/conf/server.yml
diff --git a/general/rest/go-server/docker/docker-compose.yml b/rpc/dubbo/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/rest/go-server/docker/docker-compose.yml
rename to rpc/dubbo/go-server/docker/docker-compose.yml
diff --git a/general/grpc/go-server/docker/docker-health-check.sh b/rpc/dubbo/go-server/docker/docker-health-check.sh
similarity index 100%
rename from general/grpc/go-server/docker/docker-health-check.sh
rename to rpc/dubbo/go-server/docker/docker-health-check.sh
diff --git a/general/dubbo/go-server/pkg/user.go b/rpc/dubbo/go-server/pkg/user.go
similarity index 100%
rename from general/dubbo/go-server/pkg/user.go
rename to rpc/dubbo/go-server/pkg/user.go
diff --git a/general/dubbo/go-server/pkg/user_provider.go b/rpc/dubbo/go-server/pkg/user_provider.go
similarity index 100%
rename from general/dubbo/go-server/pkg/user_provider.go
rename to rpc/dubbo/go-server/pkg/user_provider.go
diff --git a/general/dubbo/go-server/tests/integration/main_test.go b/rpc/dubbo/go-server/tests/integration/main_test.go
similarity index 100%
rename from general/dubbo/go-server/tests/integration/main_test.go
rename to rpc/dubbo/go-server/tests/integration/main_test.go
diff --git a/general/dubbo/go-server/tests/integration/userprovider_test.go b/rpc/dubbo/go-server/tests/integration/userprovider_test.go
similarity index 100%
rename from general/dubbo/go-server/tests/integration/userprovider_test.go
rename to rpc/dubbo/go-server/tests/integration/userprovider_test.go
diff --git a/general/dubbo/java-server/2.6/pom.xml b/rpc/dubbo/java-client/2.6/pom.xml
similarity index 100%
rename from general/dubbo/java-server/2.6/pom.xml
rename to rpc/dubbo/java-client/2.6/pom.xml
diff --git a/general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java b/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java
similarity index 100%
rename from general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java
rename to rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Gender.java b/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Gender.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Gender.java
rename to rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Gender.java
diff --git a/general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/User.java b/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/User.java
similarity index 100%
rename from general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/User.java
rename to rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/User.java
diff --git a/general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/UserProvider.java b/rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/UserProvider.java
similarity index 100%
rename from general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/UserProvider.java
rename to rpc/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/UserProvider.java
diff --git a/general/dubbo/java-client/2.7/src/main/resources/META-INF/spring/dubbo.consumer.xml b/rpc/dubbo/java-client/2.6/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
rename from general/dubbo/java-client/2.7/src/main/resources/META-INF/spring/dubbo.consumer.xml
rename to rpc/dubbo/java-client/2.6/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/general/jsonrpc/java-client/src/main/resources/log4j.properties b/rpc/dubbo/java-client/2.6/src/main/resources/log4j.properties
similarity index 100%
rename from general/jsonrpc/java-client/src/main/resources/log4j.properties
rename to rpc/dubbo/java-client/2.6/src/main/resources/log4j.properties
diff --git a/general/dubbo/java-server/2.7/pom.xml b/rpc/dubbo/java-client/2.7/pom.xml
similarity index 100%
rename from general/dubbo/java-server/2.7/pom.xml
rename to rpc/dubbo/java-client/2.7/pom.xml
diff --git a/general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java b/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java
similarity index 100%
rename from general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Consumer.java
rename to rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Consumer.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Gender.java b/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Gender.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Gender.java
rename to rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Gender.java
diff --git a/general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/User.java b/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/User.java
similarity index 100%
rename from general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/User.java
rename to rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/User.java
diff --git a/general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/UserProvider.java b/rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/UserProvider.java
similarity index 100%
rename from general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/UserProvider.java
rename to rpc/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/UserProvider.java
diff --git a/general/dubbo/java-client/2.6/src/main/resources/META-INF/spring/dubbo.consumer.xml b/rpc/dubbo/java-client/2.7/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
rename from general/dubbo/java-client/2.6/src/main/resources/META-INF/spring/dubbo.consumer.xml
rename to rpc/dubbo/java-client/2.7/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/general/jsonrpc/java-client/src/main/assembly/conf/log4j.properties b/rpc/dubbo/java-client/2.7/src/main/resources/log4j.properties
similarity index 100%
rename from general/jsonrpc/java-client/src/main/assembly/conf/log4j.properties
rename to rpc/dubbo/java-client/2.7/src/main/resources/log4j.properties
diff --git a/general/dubbo/java-client/2.6/pom.xml b/rpc/dubbo/java-server/2.6/pom.xml
similarity index 100%
rename from general/dubbo/java-client/2.6/pom.xml
rename to rpc/dubbo/java-server/2.6/pom.xml
diff --git a/general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Gender.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Gender.java
similarity index 100%
rename from general/dubbo/java-client/2.7/src/main/java/org/apache/dubbo/Gender.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Gender.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Provider.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Provider.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Provider.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Provider.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Response.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Response.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Response.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Response.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/User.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/User.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/User.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/User.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
diff --git a/general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java b/rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java
rename to rpc/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java
diff --git a/general/dubbo/java-server/2.7/src/main/resources/META-INF/spring/dubbo.provider.xml b/rpc/dubbo/java-server/2.6/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/resources/META-INF/spring/dubbo.provider.xml
rename to rpc/dubbo/java-server/2.6/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/general/jsonrpc/java-server/src/main/resources/log4j.properties b/rpc/dubbo/java-server/2.6/src/main/resources/log4j.properties
similarity index 100%
rename from general/jsonrpc/java-server/src/main/resources/log4j.properties
rename to rpc/dubbo/java-server/2.6/src/main/resources/log4j.properties
diff --git a/general/dubbo/java-client/2.7/pom.xml b/rpc/dubbo/java-server/2.7/pom.xml
similarity index 100%
rename from general/dubbo/java-client/2.7/pom.xml
rename to rpc/dubbo/java-server/2.7/pom.xml
diff --git a/general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Gender.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Gender.java
similarity index 100%
rename from general/dubbo/java-client/2.6/src/main/java/org/apache/dubbo/Gender.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Gender.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Provider.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Provider.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Provider.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Provider.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Response.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Response.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/Response.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/Response.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/User.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/User.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/User.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/User.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProvider.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProvider.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderAnotherImpl.java
diff --git a/general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java b/rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/java/org/apache/dubbo/UserProviderImpl.java
rename to rpc/dubbo/java-server/2.7/src/main/java/org/apache/dubbo/UserProviderImpl.java
diff --git a/general/dubbo/java-server/2.6/src/main/resources/META-INF/spring/dubbo.provider.xml b/rpc/dubbo/java-server/2.7/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/resources/META-INF/spring/dubbo.provider.xml
rename to rpc/dubbo/java-server/2.7/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/general/jsonrpc/java-server/src/main/assembly/conf/log4j.properties b/rpc/dubbo/java-server/2.7/src/main/resources/log4j.properties
similarity index 100%
rename from general/jsonrpc/java-server/src/main/assembly/conf/log4j.properties
rename to rpc/dubbo/java-server/2.7/src/main/resources/log4j.properties
diff --git a/general/dubbo3/README.md b/rpc/dubbo3/README.md
similarity index 85%
rename from general/dubbo3/README.md
rename to rpc/dubbo3/README.md
index 462fab7..08f6ea5 100644
--- a/general/dubbo3/README.md
+++ b/rpc/dubbo3/README.md
@@ -10,14 +10,14 @@ https://github.com/dubbogo/triple
## Triple-go provides capabilities:
-Intercommunication with Grpc, supporting normal calls and streaming calls
-[Example](./pb/dubbogo-grpc/README.md)
+[Example](./api/dubbogo-grpc/README.md)
-Intercommunication with Triple-java, currently the java side supports ordinary calls
-[Example](./pb/dubbogo-java/README.md)
+[Example](./api/dubbogo-java/README.md)
--Support Pb serialization and Hessian serialization. After Hessian serialization, it can be serialized again by nesting the following pb:
+-Support Pb serialization and Hessian serialization. After Hessian serialization, it can be serialized again by nesting the following api:
https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
[Example](./hessian2/README.md)
diff --git a/general/dubbo3/README_zh.md b/rpc/dubbo3/README_zh.md
similarity index 77%
rename from general/dubbo3/README_zh.md
rename to rpc/dubbo3/README_zh.md
index 615ba3c..33f8389 100644
--- a/general/dubbo3/README_zh.md
+++ b/rpc/dubbo3/README_zh.md
@@ -10,14 +10,14 @@ https://github.com/dubbogo/triple
## Triple-go 提供能力:
- 与 Grpc 互通,支持普通调用和流式调用
- [例子](./pb/dubbogo-grpc/README_zh.md)
+ [例子](./api/dubbogo-grpc/README_zh.md)
- 与 Triple-java 互通,目前java端支持普通调用
- [例子](./pb/dubbogo-java/README_zh.md)
+ [例子](./api/dubbogo-java/README_zh.md)
-- 支持 Pb 序列化和 Hessian 序列化,Hessian 序列化后通过嵌套入如下 pb,再次进行序列化:
+- 支持 Pb 序列化和 Hessian 序列化,Hessian 序列化后通过嵌套入如下 api,再次进行序列化:
https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
[例子](./hessian2/README_zh.md)
diff --git a/general/dubbo3/codec-extension/go-client/cmd/client.go b/rpc/dubbo3/codec-extension/go-client/cmd/client.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-client/cmd/client.go
rename to rpc/dubbo3/codec-extension/go-client/cmd/client.go
diff --git a/general/dubbo3/codec-extension/go-server/codec/codec.go b/rpc/dubbo3/codec-extension/go-client/codec/codec.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/codec/codec.go
rename to rpc/dubbo3/codec-extension/go-client/codec/codec.go
diff --git a/general/dubbo3/codec-extension/go-client/conf/client.yml b/rpc/dubbo3/codec-extension/go-client/conf/client.yml
similarity index 100%
rename from general/dubbo3/codec-extension/go-client/conf/client.yml
rename to rpc/dubbo3/codec-extension/go-client/conf/client.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/log.yml b/rpc/dubbo3/codec-extension/go-client/conf/log.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/log.yml
rename to rpc/dubbo3/codec-extension/go-client/conf/log.yml
diff --git a/general/dubbo3/msgpack/go-client/pkg/hello.go b/rpc/dubbo3/codec-extension/go-client/pkg/hello.go
similarity index 100%
rename from general/dubbo3/msgpack/go-client/pkg/hello.go
rename to rpc/dubbo3/codec-extension/go-client/pkg/hello.go
diff --git a/general/dubbo3/codec-extension/go-server/cmd/server.go b/rpc/dubbo3/codec-extension/go-server/cmd/server.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/cmd/server.go
rename to rpc/dubbo3/codec-extension/go-server/cmd/server.go
diff --git a/general/dubbo3/codec-extension/go-client/codec/codec.go b/rpc/dubbo3/codec-extension/go-server/codec/codec.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-client/codec/codec.go
rename to rpc/dubbo3/codec-extension/go-server/codec/codec.go
diff --git a/general/dubbo3/codec-extension/go-server/conf/client.yml b/rpc/dubbo3/codec-extension/go-server/conf/client.yml
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/conf/client.yml
rename to rpc/dubbo3/codec-extension/go-server/conf/client.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/log.yml b/rpc/dubbo3/codec-extension/go-server/conf/log.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/log.yml
rename to rpc/dubbo3/codec-extension/go-server/conf/log.yml
diff --git a/general/dubbo3/codec-extension/go-server/conf/server.yml b/rpc/dubbo3/codec-extension/go-server/conf/server.yml
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/conf/server.yml
rename to rpc/dubbo3/codec-extension/go-server/conf/server.yml
diff --git a/general/rest/go-client/docker/docker-compose.yml b/rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/rest/go-client/docker/docker-compose.yml
rename to rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-health-check.sh b/rpc/dubbo3/codec-extension/go-server/docker/docker-health-check.sh
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-health-check.sh
rename to rpc/dubbo3/codec-extension/go-server/docker/docker-health-check.sh
diff --git a/general/dubbo3/codec-extension/go-server/pkg/greeter.go b/rpc/dubbo3/codec-extension/go-server/pkg/greeter.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/pkg/greeter.go
rename to rpc/dubbo3/codec-extension/go-server/pkg/greeter.go
diff --git a/general/dubbo3/codec-extension/go-server/tests/integration/codec.go b/rpc/dubbo3/codec-extension/go-server/tests/integration/codec.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/tests/integration/codec.go
rename to rpc/dubbo3/codec-extension/go-server/tests/integration/codec.go
diff --git a/general/dubbo3/msgpack/go-server/tests/integration/main_test.go b/rpc/dubbo3/codec-extension/go-server/tests/integration/main_test.go
similarity index 100%
rename from general/dubbo3/msgpack/go-server/tests/integration/main_test.go
rename to rpc/dubbo3/codec-extension/go-server/tests/integration/main_test.go
diff --git a/general/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go b/rpc/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go
similarity index 100%
rename from general/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go
rename to rpc/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go
diff --git a/general/dubbo3/hessian2/README.md b/rpc/dubbo3/hessian2/README.md
similarity index 84%
rename from general/dubbo3/hessian2/README.md
rename to rpc/dubbo3/hessian2/README.md
index 45b4169..17a37e5 100644
--- a/general/dubbo3/hessian2/README.md
+++ b/rpc/dubbo3/hessian2/README.md
@@ -1,6 +1,6 @@
# Triple protocol Hessian2 (Hessian+PB) serialization scheme
-Triple-go supports Pb serialization and Hessian serialization. After Hessian serialization, pb serialization is performed again by nesting the following pb:
+Triple-go supports Pb serialization and Hessian serialization. After Hessian serialization, api serialization is performed again by nesting the following api:
https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
## Serialization scheme selection
diff --git a/general/dubbo3/hessian2/README_zh.md b/rpc/dubbo3/hessian2/README_zh.md
similarity index 100%
rename from general/dubbo3/hessian2/README_zh.md
rename to rpc/dubbo3/hessian2/README_zh.md
diff --git a/general/dubbo3/hessian2/go-client/cmd/client.go b/rpc/dubbo3/hessian2/go-client/cmd/client.go
similarity index 100%
rename from general/dubbo3/hessian2/go-client/cmd/client.go
rename to rpc/dubbo3/hessian2/go-client/cmd/client.go
diff --git a/general/dubbo3/hessian2/go-client/conf/client.yml b/rpc/dubbo3/hessian2/go-client/conf/client.yml
similarity index 100%
rename from general/dubbo3/hessian2/go-client/conf/client.yml
rename to rpc/dubbo3/hessian2/go-client/conf/client.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/log.yml b/rpc/dubbo3/hessian2/go-client/conf/log.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/log.yml
rename to rpc/dubbo3/hessian2/go-client/conf/log.yml
diff --git a/general/dubbo3/hessian2/go-client/pkg/hello.go b/rpc/dubbo3/hessian2/go-client/pkg/hello.go
similarity index 100%
rename from general/dubbo3/hessian2/go-client/pkg/hello.go
rename to rpc/dubbo3/hessian2/go-client/pkg/hello.go
diff --git a/general/dubbo3/hessian2/go-server/cmd/server.go b/rpc/dubbo3/hessian2/go-server/cmd/server.go
similarity index 100%
rename from general/dubbo3/hessian2/go-server/cmd/server.go
rename to rpc/dubbo3/hessian2/go-server/cmd/server.go
diff --git a/general/dubbo3/hessian2/go-server/conf/client.yml b/rpc/dubbo3/hessian2/go-server/conf/client.yml
similarity index 100%
rename from general/dubbo3/hessian2/go-server/conf/client.yml
rename to rpc/dubbo3/hessian2/go-server/conf/client.yml
diff --git a/general/dubbo3/msgpack/go-server/conf/log.yml b/rpc/dubbo3/hessian2/go-server/conf/log.yml
similarity index 100%
rename from general/dubbo3/msgpack/go-server/conf/log.yml
rename to rpc/dubbo3/hessian2/go-server/conf/log.yml
diff --git a/general/dubbo3/hessian2/go-server/conf/server.yml b/rpc/dubbo3/hessian2/go-server/conf/server.yml
similarity index 100%
rename from general/dubbo3/hessian2/go-server/conf/server.yml
rename to rpc/dubbo3/hessian2/go-server/conf/server.yml
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml b/rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml
rename to rpc/dubbo3/hessian2/go-server/docker/docker-compose.yml
diff --git a/general/dubbo3/msgpack/go-server/docker/docker-health-check.sh b/rpc/dubbo3/hessian2/go-server/docker/docker-health-check.sh
similarity index 100%
rename from general/dubbo3/msgpack/go-server/docker/docker-health-check.sh
rename to rpc/dubbo3/hessian2/go-server/docker/docker-health-check.sh
diff --git a/general/dubbo3/hessian2/go-server/pkg/greeter.go b/rpc/dubbo3/hessian2/go-server/pkg/greeter.go
similarity index 100%
rename from general/dubbo3/hessian2/go-server/pkg/greeter.go
rename to rpc/dubbo3/hessian2/go-server/pkg/greeter.go
diff --git a/general/dubbo3/hessian2/go-server/tests/integration/main_test.go b/rpc/dubbo3/hessian2/go-server/tests/integration/main_test.go
similarity index 100%
rename from general/dubbo3/hessian2/go-server/tests/integration/main_test.go
rename to rpc/dubbo3/hessian2/go-server/tests/integration/main_test.go
diff --git a/general/dubbo3/hessian2/go-server/tests/integration/userprovider_test.go b/rpc/dubbo3/hessian2/go-server/tests/integration/userprovider_test.go
similarity index 100%
rename from general/dubbo3/hessian2/go-server/tests/integration/userprovider_test.go
rename to rpc/dubbo3/hessian2/go-server/tests/integration/userprovider_test.go
diff --git a/general/dubbo3/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/rpc/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 100%
rename from general/dubbo3/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
rename to rpc/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
diff --git a/general/dubbo3/hessian2/java-client/pom.xml b/rpc/dubbo3/hessian2/java-client/pom.xml
similarity index 100%
rename from general/dubbo3/hessian2/java-client/pom.xml
rename to rpc/dubbo3/hessian2/java-client/pom.xml
diff --git a/general/dubbo3/pb/dubbogo-java/java-client/run.sh b/rpc/dubbo3/hessian2/java-client/run.sh
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-client/run.sh
rename to rpc/dubbo3/hessian2/java-client/run.sh
diff --git a/general/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
similarity index 100%
rename from general/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
rename to rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
diff --git a/general/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
similarity index 100%
rename from general/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
rename to rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
diff --git a/general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java b/rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
similarity index 100%
rename from general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
rename to rpc/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/src/main/proto/helloworld.proto b/rpc/dubbo3/hessian2/java-client/src/main/proto/helloworld.proto
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/src/main/proto/helloworld.proto
rename to rpc/dubbo3/hessian2/java-client/src/main/proto/helloworld.proto
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/src/main/resources/log4j.properties b/rpc/dubbo3/hessian2/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/src/main/resources/log4j.properties
rename to rpc/dubbo3/hessian2/java-client/src/main/resources/log4j.properties
diff --git a/general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/rpc/dubbo3/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 100%
copy from general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
copy to rpc/dubbo3/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
diff --git a/general/dubbo3/hessian2/java-server/pom.xml b/rpc/dubbo3/hessian2/java-server/pom.xml
similarity index 100%
rename from general/dubbo3/hessian2/java-server/pom.xml
rename to rpc/dubbo3/hessian2/java-server/pom.xml
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/run.sh b/rpc/dubbo3/hessian2/java-server/run.sh
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/run.sh
rename to rpc/dubbo3/hessian2/java-server/run.sh
diff --git a/general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
similarity index 100%
rename from general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
rename to rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
diff --git a/general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
similarity index 100%
rename from general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
rename to rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
diff --git a/general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
similarity index 100%
rename from general/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
rename to rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
diff --git a/general/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java b/rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
similarity index 100%
rename from general/dubbo3/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
rename to rpc/dubbo3/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
diff --git a/general/dubbo3/pb/dubbogo-java/java-client/src/main/proto/helloworld.proto b/rpc/dubbo3/hessian2/java-server/src/main/proto/helloworld.proto
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-client/src/main/proto/helloworld.proto
rename to rpc/dubbo3/hessian2/java-server/src/main/proto/helloworld.proto
diff --git a/general/dubbo3/pb/dubbogo-java/java-client/src/main/resources/log4j.properties b/rpc/dubbo3/hessian2/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-client/src/main/resources/log4j.properties
rename to rpc/dubbo3/hessian2/java-server/src/main/resources/log4j.properties
diff --git a/general/dubbo3/msgpack/go-client/cmd/client.go b/rpc/dubbo3/msgpack/go-client/cmd/client.go
similarity index 100%
rename from general/dubbo3/msgpack/go-client/cmd/client.go
rename to rpc/dubbo3/msgpack/go-client/cmd/client.go
diff --git a/general/dubbo3/msgpack/go-client/conf/client.yml b/rpc/dubbo3/msgpack/go-client/conf/client.yml
similarity index 100%
rename from general/dubbo3/msgpack/go-client/conf/client.yml
rename to rpc/dubbo3/msgpack/go-client/conf/client.yml
diff --git a/general/dubbo3/msgpack/go-client/conf/log.yml b/rpc/dubbo3/msgpack/go-client/conf/log.yml
similarity index 100%
rename from general/dubbo3/msgpack/go-client/conf/log.yml
rename to rpc/dubbo3/msgpack/go-client/conf/log.yml
diff --git a/general/dubbo3/codec-extension/go-client/pkg/hello.go b/rpc/dubbo3/msgpack/go-client/pkg/hello.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-client/pkg/hello.go
rename to rpc/dubbo3/msgpack/go-client/pkg/hello.go
diff --git a/general/dubbo3/msgpack/go-server/cmd/server.go b/rpc/dubbo3/msgpack/go-server/cmd/server.go
similarity index 100%
rename from general/dubbo3/msgpack/go-server/cmd/server.go
rename to rpc/dubbo3/msgpack/go-server/cmd/server.go
diff --git a/general/dubbo3/msgpack/go-server/conf/client.yml b/rpc/dubbo3/msgpack/go-server/conf/client.yml
similarity index 100%
rename from general/dubbo3/msgpack/go-server/conf/client.yml
rename to rpc/dubbo3/msgpack/go-server/conf/client.yml
diff --git a/general/dubbo3/hessian2/go-server/conf/log.yml b/rpc/dubbo3/msgpack/go-server/conf/log.yml
similarity index 100%
rename from general/dubbo3/hessian2/go-server/conf/log.yml
rename to rpc/dubbo3/msgpack/go-server/conf/log.yml
diff --git a/general/dubbo3/msgpack/go-server/conf/server.yml b/rpc/dubbo3/msgpack/go-server/conf/server.yml
similarity index 100%
rename from general/dubbo3/msgpack/go-server/conf/server.yml
rename to rpc/dubbo3/msgpack/go-server/conf/server.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml b/rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml
rename to rpc/dubbo3/msgpack/go-server/docker/docker-compose.yml
diff --git a/general/dubbo3/hessian2/go-server/docker/docker-health-check.sh b/rpc/dubbo3/msgpack/go-server/docker/docker-health-check.sh
similarity index 100%
rename from general/dubbo3/hessian2/go-server/docker/docker-health-check.sh
rename to rpc/dubbo3/msgpack/go-server/docker/docker-health-check.sh
diff --git a/general/dubbo3/msgpack/go-server/pkg/greeter.go b/rpc/dubbo3/msgpack/go-server/pkg/greeter.go
similarity index 100%
rename from general/dubbo3/msgpack/go-server/pkg/greeter.go
rename to rpc/dubbo3/msgpack/go-server/pkg/greeter.go
diff --git a/general/dubbo3/codec-extension/go-server/tests/integration/main_test.go b/rpc/dubbo3/msgpack/go-server/tests/integration/main_test.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/tests/integration/main_test.go
rename to rpc/dubbo3/msgpack/go-server/tests/integration/main_test.go
diff --git a/general/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go b/rpc/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go
rename to rpc/dubbo3/msgpack/go-server/tests/integration/userprovider_test.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/README.md b/rpc/dubbo3/pb/dubbogo-grpc/README.md
similarity index 87%
rename from general/dubbo3/pb/dubbogo-grpc/README.md
rename to rpc/dubbo3/pb/dubbogo-grpc/README.md
index a79d119..3f30b60 100644
--- a/general/dubbo3/pb/dubbogo-grpc/README.md
+++ b/rpc/dubbo3/pb/dubbogo-grpc/README.md
@@ -8,7 +8,7 @@ Any group of client and server can be used interchangeably to implement RPC call
## Triple service start
-### pb generation
+### api generation
1. First write the proto file
```protobuf
@@ -44,7 +44,7 @@ message User {
go get -u dubbo.apache.org/dubbo-go/v3/protocol/dubbo3/protoc-gen-dubbo3@3.0
```
-4. generate pb file
+4. generate api file
```shell
protoc -I . helloworld.proto --dubbo3_out=plugins=grpc+dubbo:.
```
@@ -64,7 +64,7 @@ import (
)
import (
- dubbo3 "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3"
+ dubbo3 "github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/protobuf/dubbo3"
)
type GreeterProvider struct {
@@ -73,7 +73,7 @@ type GreeterProvider struct {
}
func NewGreeterProvider() *GreeterProvider {
- return &GreeterProvider{// Initialize base with the instance in the generated pb
+ return &GreeterProvider{// Initialize base with the instance in the generated api
GreeterProviderBase: &dubbo3.GreeterProviderBase{},
}
}
@@ -132,10 +132,10 @@ services:
interface: "protobuf.Greeter" # Same as the interface name generated by grpc, as follows
```
-The interface name of the Grpc pb file can be seen as protobuf.Greeter, which is defined by the user as required.
+The interface name of the Grpc api file can be seen as protobuf.Greeter, which is defined by the user as required.
In order for triple-go to get through with grpc, it must be the same as the grpc interface name and correctly configured in the yaml file.
-protobuf/grpc/helloworld.pb.go:
+protobuf/grpc/helloworld.api.go:
```go
func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
out := new(User)
@@ -155,10 +155,10 @@ triple/triple-server
## Client (take ordinary rpc call as an example, the same for streaming RPC)
1. Consumer end structure definition
- The Consumer structure has been implemented in the pb file and can be imported directly
+ The Consumer structure has been implemented in the api file and can be imported directly
```go
import (
- dubbo3pb "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3"
+ dubbo3pb "github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/protobuf/dubbo3"
)
// Directly introduce the GreeterClientImpl structure, you can enter the structure, and see the Reference as "greeterImpl"
diff --git a/general/dubbo3/pb/dubbogo-grpc/README_zh.md b/rpc/dubbo3/pb/dubbogo-grpc/README_zh.md
similarity index 90%
rename from general/dubbo3/pb/dubbogo-grpc/README_zh.md
rename to rpc/dubbo3/pb/dubbogo-grpc/README_zh.md
index bb8f130..0d0e946 100644
--- a/general/dubbo3/pb/dubbogo-grpc/README_zh.md
+++ b/rpc/dubbo3/pb/dubbogo-grpc/README_zh.md
@@ -8,7 +8,7 @@
## Triple 服务启动
-### pb 生成
+### api 生成
1. 首先编写 proto 文件
```protobuf
@@ -43,7 +43,7 @@ message User {
```shell
go get -u dubbo.apache.org/dubbo-go/v3/protocol/dubbo3/protoc-gen-dubbo3@3.0
```
-4. 生成 pb 文件
+4. 生成 api 文件
```shell
protoc -I . helloworld.proto --dubbo3_out=plugins=grpc+dubbo:.
```
@@ -63,7 +63,7 @@ import (
)
import (
- dubbo3 "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3"
+ dubbo3 "github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/protobuf/dubbo3"
)
type GreeterProvider struct {
@@ -132,10 +132,10 @@ services:
interface: "protobuf.Greeter" # 和grpc生成的的接口名一致,如下
```
-Grpc pb 文件的接口名可见为 protobuf.Greeter, 是用户根据需要定义的。
+Grpc api 文件的接口名可见为 protobuf.Greeter, 是用户根据需要定义的。
triple-go 要想和 grpc 打通,一定要和 grpc 的接口名一致,并正确配置在 yaml 文件中。
-protobuf/grpc/helloworld.pb.go:
+protobuf/grpc/helloworld.api.go:
```go
func (c *greeterClient) SayHello(ctx context.Context, in *HelloRequest, opts ...grpc.CallOption) (*User, error) {
out := new(User)
@@ -158,7 +158,7 @@ triple/triple-server
Consumer 结构已经在pb文件中实现好,可直接引入
```go
import (
- dubbo3pb "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3"
+ dubbo3pb "github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/protobuf/dubbo3"
)
// 直接引入GreeterClientImpl 结构,可以进入该结构,查看Reference为“greeterImpl”
diff --git a/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.pb.go b/rpc/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.pb.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.pb.go
rename to rpc/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.pb.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.proto b/rpc/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.proto
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.proto
rename to rpc/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/helloworld.proto
diff --git a/general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/protobuf.mk b/rpc/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/protobuf.mk
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/protobuf.mk
rename to rpc/dubbo3/pb/dubbogo-grpc/protobuf/dubbo3/protobuf.mk
diff --git a/general/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.pb.go b/rpc/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.pb.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.pb.go
rename to rpc/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.pb.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.proto b/rpc/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.proto
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.proto
rename to rpc/dubbo3/pb/dubbogo-grpc/protobuf/grpc/helloworld.proto
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/client.yml b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/client.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/client.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/client.yml
diff --git a/general/dubbo3/hessian2/go-client/conf/log.yml b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/log.yml
similarity index 100%
rename from general/dubbo3/hessian2/go-client/conf/log.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/log.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/server.yml b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/server.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/server.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/conf/server.yml
diff --git a/general/dubbo3/msgpack/go-server/docker/docker-compose.yml b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml
similarity index 100%
rename from general/dubbo3/msgpack/go-server/docker/docker-compose.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml
diff --git a/general/dubbo3/codec-extension/go-server/docker/docker-health-check.sh b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-health-check.sh
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/docker/docker-health-check.sh
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-health-check.sh
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg/greeter.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg/greeter.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg/greeter.go
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg/greeter.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/grpc_test_proto/helloworld.pb.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/grpc_test_proto/helloworld.pb.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/grpc_test_proto/helloworld.pb.go
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/grpc_test_proto/helloworld.pb.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/main_test.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/main_test.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/main_test.go
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/main_test.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go
rename to rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/tests/integration/userprovider_test.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go b/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
rename to rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/client.go b/rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/client.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/client.go
rename to rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/client.go
diff --git a/helloworld/go-client/cmd/env.sh b/rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/env.sh
similarity index 100%
rename from helloworld/go-client/cmd/env.sh
rename to rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/cmd/env.sh
diff --git a/general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/client.yml b/rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/client.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/client.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/client.yml
diff --git a/general/dubbo3/codec-extension/go-server/conf/log.yml b/rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/log.yml
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/conf/log.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/stream-client/dubbogo-client/conf/log.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/stream-client/grpcgo-client/main.go b/rpc/dubbo3/pb/dubbogo-grpc/stream-client/grpcgo-client/main.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/stream-client/grpcgo-client/main.go
rename to rpc/dubbo3/pb/dubbogo-grpc/stream-client/grpcgo-client/main.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/client.go b/rpc/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/client.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/client.go
rename to rpc/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/cmd/client.go
diff --git a/general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/client.yml b/rpc/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/client.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/client.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/client.yml
diff --git a/general/dubbo3/codec-extension/go-client/conf/log.yml b/rpc/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/log.yml
similarity index 100%
rename from general/dubbo3/codec-extension/go-client/conf/log.yml
rename to rpc/dubbo3/pb/dubbogo-grpc/unary-client/dubbogo-client/conf/log.yml
diff --git a/general/dubbo3/pb/dubbogo-grpc/unary-client/grpcgo-client/main.go b/rpc/dubbo3/pb/dubbogo-grpc/unary-client/grpcgo-client/main.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-grpc/unary-client/grpcgo-client/main.go
rename to rpc/dubbo3/pb/dubbogo-grpc/unary-client/grpcgo-client/main.go
diff --git a/general/dubbo3/pb/dubbogo-java/README.md b/rpc/dubbo3/pb/dubbogo-java/README.md
similarity index 71%
rename from general/dubbo3/pb/dubbogo-java/README.md
rename to rpc/dubbo3/pb/dubbogo-java/README.md
index 74ec5d1..1b1ae15 100644
--- a/general/dubbo3/pb/dubbogo-java/README.md
+++ b/rpc/dubbo3/pb/dubbogo-java/README.md
@@ -1,6 +1,6 @@
# dubbo-java intercommunication
-For pb definition and go client and server startup, please refer to [dubbogo-grpc](../dubbogo-grpc/README.md)
+For api definition and go client and server startup, please refer to [dubbogo-grpc](../dubbogo-grpc/README.md)
## Instructions
diff --git a/general/dubbo3/pb/dubbogo-java/README_zh.md b/rpc/dubbo3/pb/dubbogo-java/README_zh.md
similarity index 71%
rename from general/dubbo3/pb/dubbogo-java/README_zh.md
rename to rpc/dubbo3/pb/dubbogo-java/README_zh.md
index d84970d..b3d8f8a 100644
--- a/general/dubbo3/pb/dubbogo-java/README_zh.md
+++ b/rpc/dubbo3/pb/dubbogo-java/README_zh.md
@@ -1,6 +1,6 @@
# dubbo-java互通
-pb 定义以及 go 客户端、服务端启动,可以参考 [dubbogo-grpc](../dubbogo-grpc/README_zh.md)
+api 定义以及 go 客户端、服务端启动,可以参考 [dubbogo-grpc](../dubbogo-grpc/README_zh.md)
## 使用方法
diff --git a/general/dubbo3/pb/dubbogo-java/go-client/cmd/client.go b/rpc/dubbo3/pb/dubbogo-java/go-client/cmd/client.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-client/cmd/client.go
rename to rpc/dubbo3/pb/dubbogo-java/go-client/cmd/client.go
diff --git a/general/dubbo3/pb/dubbogo-java/go-client/cmd/env.sh b/rpc/dubbo3/pb/dubbogo-java/go-client/cmd/env.sh
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-client/cmd/env.sh
rename to rpc/dubbo3/pb/dubbogo-java/go-client/cmd/env.sh
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/conf/client.yml b/rpc/dubbo3/pb/dubbogo-java/go-client/conf/client.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/conf/client.yml
rename to rpc/dubbo3/pb/dubbogo-java/go-client/conf/client.yml
diff --git a/general/dubbo/go-server/conf/log.yml b/rpc/dubbo3/pb/dubbogo-java/go-client/conf/log.yml
similarity index 100%
rename from general/dubbo/go-server/conf/log.yml
rename to rpc/dubbo3/pb/dubbogo-java/go-client/conf/log.yml
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/cmd/env.sh b/rpc/dubbo3/pb/dubbogo-java/go-server/cmd/env.sh
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/cmd/env.sh
rename to rpc/dubbo3/pb/dubbogo-java/go-server/cmd/env.sh
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/cmd/server.go b/rpc/dubbo3/pb/dubbogo-java/go-server/cmd/server.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/cmd/server.go
rename to rpc/dubbo3/pb/dubbogo-java/go-server/cmd/server.go
diff --git a/general/dubbo3/pb/dubbogo-java/go-client/conf/client.yml b/rpc/dubbo3/pb/dubbogo-java/go-server/conf/client.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-client/conf/client.yml
rename to rpc/dubbo3/pb/dubbogo-java/go-server/conf/client.yml
diff --git a/general/dubbo/go-client/conf/log.yml b/rpc/dubbo3/pb/dubbogo-java/go-server/conf/log.yml
similarity index 100%
rename from general/dubbo/go-client/conf/log.yml
rename to rpc/dubbo3/pb/dubbogo-java/go-server/conf/log.yml
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/conf/server.yml b/rpc/dubbo3/pb/dubbogo-java/go-server/conf/server.yml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/conf/server.yml
rename to rpc/dubbo3/pb/dubbogo-java/go-server/conf/server.yml
diff --git a/general/dubbo3/hessian2/go-server/docker/docker-compose.yml b/rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/dubbo3/hessian2/go-server/docker/docker-compose.yml
rename to rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/pkg/greeter.go b/rpc/dubbo3/pb/dubbogo-java/go-server/pkg/greeter.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/pkg/greeter.go
rename to rpc/dubbo3/pb/dubbogo-java/go-server/pkg/greeter.go
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/tests/integration/main_test.go b/rpc/dubbo3/pb/dubbogo-java/go-server/tests/integration/main_test.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/tests/integration/main_test.go
rename to rpc/dubbo3/pb/dubbogo-java/go-server/tests/integration/main_test.go
diff --git a/general/dubbo3/pb/dubbogo-java/go-server/tests/integration/userprovider_test.go b/rpc/dubbo3/pb/dubbogo-java/go-server/tests/integration/userprovider_test.go
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/go-server/tests/integration/userprovider_test.go
rename to rpc/dubbo3/pb/dubbogo-java/go-server/tests/integration/userprovider_test.go
diff --git a/general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/rpc/dubbo3/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 95%
copy from general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
copy to rpc/dubbo3/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
index 4df0b78..99758ac 100644
--- a/general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
+++ b/rpc/dubbo3/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
@@ -20,10 +20,12 @@ public final class Helloworld {
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
java.lang.String getName();
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
@@ -35,7 +37,7 @@ public final class Helloworld {
*
* Protobuf type {@code helloworld.HelloRequest}
*/
- public static final class HelloRequest extends
+ public static final class HelloRequest extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:helloworld.HelloRequest)
HelloRequestOrBuilder {
@@ -49,6 +51,13 @@ public final class Helloworld {
}
@java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new HelloRequest();
+ }
+
+ @java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
@@ -61,7 +70,6 @@ public final class Helloworld {
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
- int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
@@ -114,7 +122,9 @@ public final class Helloworld {
private volatile java.lang.Object name_;
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
+ @java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
@@ -129,7 +139,9 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
+ @java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
@@ -453,6 +465,7 @@ public final class Helloworld {
private java.lang.Object name_ = "";
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
@@ -468,6 +481,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
@@ -484,6 +498,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
@@ -497,6 +513,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return This builder for chaining.
*/
public Builder clearName() {
@@ -506,6 +523,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
@@ -577,26 +596,31 @@ public final class Helloworld {
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
java.lang.String getName();
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
/**
* <code>string id = 2;</code>
+ * @return The id.
*/
java.lang.String getId();
/**
* <code>string id = 2;</code>
+ * @return The bytes for id.
*/
com.google.protobuf.ByteString
getIdBytes();
/**
* <code>int32 age = 3;</code>
+ * @return The age.
*/
int getAge();
}
@@ -607,7 +631,7 @@ public final class Helloworld {
*
* Protobuf type {@code helloworld.User}
*/
- public static final class User extends
+ public static final class User extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:helloworld.User)
UserOrBuilder {
@@ -622,6 +646,13 @@ public final class Helloworld {
}
@java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new User();
+ }
+
+ @java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
@@ -634,7 +665,6 @@ public final class Helloworld {
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
- int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
@@ -698,7 +728,9 @@ public final class Helloworld {
private volatile java.lang.Object name_;
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
+ @java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
@@ -713,7 +745,9 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
+ @java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
@@ -732,7 +766,9 @@ public final class Helloworld {
private volatile java.lang.Object id_;
/**
* <code>string id = 2;</code>
+ * @return The id.
*/
+ @java.lang.Override
public java.lang.String getId() {
java.lang.Object ref = id_;
if (ref instanceof java.lang.String) {
@@ -747,7 +783,9 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @return The bytes for id.
*/
+ @java.lang.Override
public com.google.protobuf.ByteString
getIdBytes() {
java.lang.Object ref = id_;
@@ -766,7 +804,9 @@ public final class Helloworld {
private int age_;
/**
* <code>int32 age = 3;</code>
+ * @return The age.
*/
+ @java.lang.Override
public int getAge() {
return age_;
}
@@ -1114,6 +1154,7 @@ public final class Helloworld {
private java.lang.Object name_ = "";
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
@@ -1129,6 +1170,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
@@ -1145,6 +1187,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
@@ -1158,6 +1202,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return This builder for chaining.
*/
public Builder clearName() {
@@ -1167,6 +1212,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
@@ -1183,6 +1230,7 @@ public final class Helloworld {
private java.lang.Object id_ = "";
/**
* <code>string id = 2;</code>
+ * @return The id.
*/
public java.lang.String getId() {
java.lang.Object ref = id_;
@@ -1198,6 +1246,7 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @return The bytes for id.
*/
public com.google.protobuf.ByteString
getIdBytes() {
@@ -1214,6 +1263,8 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @param value The id to set.
+ * @return This builder for chaining.
*/
public Builder setId(
java.lang.String value) {
@@ -1227,6 +1278,7 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @return This builder for chaining.
*/
public Builder clearId() {
@@ -1236,6 +1288,8 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @param value The bytes for id to set.
+ * @return This builder for chaining.
*/
public Builder setIdBytes(
com.google.protobuf.ByteString value) {
@@ -1252,12 +1306,16 @@ public final class Helloworld {
private int age_ ;
/**
* <code>int32 age = 3;</code>
+ * @return The age.
*/
+ @java.lang.Override
public int getAge() {
return age_;
}
/**
* <code>int32 age = 3;</code>
+ * @param value The age to set.
+ * @return This builder for chaining.
*/
public Builder setAge(int value) {
@@ -1267,6 +1325,7 @@ public final class Helloworld {
}
/**
* <code>int32 age = 3;</code>
+ * @return This builder for chaining.
*/
public Builder clearAge() {
@@ -1351,18 +1410,10 @@ public final class Helloworld {
"(\t\022\n\n\002id\030\002 \001(\t\022\013\n\003age\030\003 \001(\005B\037\n\035org.apach" +
"e.dubbo.sample.hellob\006proto3"
};
- com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
- new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
- public com.google.protobuf.ExtensionRegistry assignDescriptors(
- com.google.protobuf.Descriptors.FileDescriptor root) {
- descriptor = root;
- return null;
- }
- };
- com.google.protobuf.Descriptors.FileDescriptor
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
- }, assigner);
+ });
internal_static_helloworld_HelloRequest_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_helloworld_HelloRequest_fieldAccessorTable = new
diff --git a/general/dubbo3/pb/dubbogo-java/java-client/pom.xml b/rpc/dubbo3/pb/dubbogo-java/java-client/pom.xml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-client/pom.xml
rename to rpc/dubbo3/pb/dubbogo-java/java-client/pom.xml
diff --git a/general/dubbo3/hessian2/java-client/run.sh b/rpc/dubbo3/pb/dubbogo-java/java-client/run.sh
similarity index 100%
rename from general/dubbo3/hessian2/java-client/run.sh
rename to rpc/dubbo3/pb/dubbogo-java/java-client/run.sh
diff --git a/general/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java b/rpc/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
rename to rpc/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
diff --git a/general/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/rpc/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
rename to rpc/dubbo3/pb/dubbogo-java/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
diff --git a/general/dubbo3/hessian2/java-server/src/main/proto/helloworld.proto b/rpc/dubbo3/pb/dubbogo-java/java-client/src/main/proto/helloworld.proto
similarity index 100%
rename from general/dubbo3/hessian2/java-server/src/main/proto/helloworld.proto
rename to rpc/dubbo3/pb/dubbogo-java/java-client/src/main/proto/helloworld.proto
diff --git a/general/dubbo3/hessian2/java-server/src/main/resources/log4j.properties b/rpc/dubbo3/pb/dubbogo-java/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from general/dubbo3/hessian2/java-server/src/main/resources/log4j.properties
rename to rpc/dubbo3/pb/dubbogo-java/java-client/src/main/resources/log4j.properties
diff --git a/general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/rpc/dubbo3/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 95%
rename from general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
rename to rpc/dubbo3/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
index 4df0b78..99758ac 100644
--- a/general/dubbo3/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
+++ b/rpc/dubbo3/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
@@ -20,10 +20,12 @@ public final class Helloworld {
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
java.lang.String getName();
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
@@ -35,7 +37,7 @@ public final class Helloworld {
*
* Protobuf type {@code helloworld.HelloRequest}
*/
- public static final class HelloRequest extends
+ public static final class HelloRequest extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:helloworld.HelloRequest)
HelloRequestOrBuilder {
@@ -49,6 +51,13 @@ public final class Helloworld {
}
@java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new HelloRequest();
+ }
+
+ @java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
@@ -61,7 +70,6 @@ public final class Helloworld {
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
- int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
@@ -114,7 +122,9 @@ public final class Helloworld {
private volatile java.lang.Object name_;
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
+ @java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
@@ -129,7 +139,9 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
+ @java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
@@ -453,6 +465,7 @@ public final class Helloworld {
private java.lang.Object name_ = "";
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
@@ -468,6 +481,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
@@ -484,6 +498,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
@@ -497,6 +513,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return This builder for chaining.
*/
public Builder clearName() {
@@ -506,6 +523,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
@@ -577,26 +596,31 @@ public final class Helloworld {
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
java.lang.String getName();
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
/**
* <code>string id = 2;</code>
+ * @return The id.
*/
java.lang.String getId();
/**
* <code>string id = 2;</code>
+ * @return The bytes for id.
*/
com.google.protobuf.ByteString
getIdBytes();
/**
* <code>int32 age = 3;</code>
+ * @return The age.
*/
int getAge();
}
@@ -607,7 +631,7 @@ public final class Helloworld {
*
* Protobuf type {@code helloworld.User}
*/
- public static final class User extends
+ public static final class User extends
com.google.protobuf.GeneratedMessageV3 implements
// @@protoc_insertion_point(message_implements:helloworld.User)
UserOrBuilder {
@@ -622,6 +646,13 @@ public final class Helloworld {
}
@java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(
+ UnusedPrivateParameter unused) {
+ return new User();
+ }
+
+ @java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return this.unknownFields;
@@ -634,7 +665,6 @@ public final class Helloworld {
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
- int mutable_bitField0_ = 0;
com.google.protobuf.UnknownFieldSet.Builder unknownFields =
com.google.protobuf.UnknownFieldSet.newBuilder();
try {
@@ -698,7 +728,9 @@ public final class Helloworld {
private volatile java.lang.Object name_;
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
+ @java.lang.Override
public java.lang.String getName() {
java.lang.Object ref = name_;
if (ref instanceof java.lang.String) {
@@ -713,7 +745,9 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
+ @java.lang.Override
public com.google.protobuf.ByteString
getNameBytes() {
java.lang.Object ref = name_;
@@ -732,7 +766,9 @@ public final class Helloworld {
private volatile java.lang.Object id_;
/**
* <code>string id = 2;</code>
+ * @return The id.
*/
+ @java.lang.Override
public java.lang.String getId() {
java.lang.Object ref = id_;
if (ref instanceof java.lang.String) {
@@ -747,7 +783,9 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @return The bytes for id.
*/
+ @java.lang.Override
public com.google.protobuf.ByteString
getIdBytes() {
java.lang.Object ref = id_;
@@ -766,7 +804,9 @@ public final class Helloworld {
private int age_;
/**
* <code>int32 age = 3;</code>
+ * @return The age.
*/
+ @java.lang.Override
public int getAge() {
return age_;
}
@@ -1114,6 +1154,7 @@ public final class Helloworld {
private java.lang.Object name_ = "";
/**
* <code>string name = 1;</code>
+ * @return The name.
*/
public java.lang.String getName() {
java.lang.Object ref = name_;
@@ -1129,6 +1170,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return The bytes for name.
*/
public com.google.protobuf.ByteString
getNameBytes() {
@@ -1145,6 +1187,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The name to set.
+ * @return This builder for chaining.
*/
public Builder setName(
java.lang.String value) {
@@ -1158,6 +1202,7 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @return This builder for chaining.
*/
public Builder clearName() {
@@ -1167,6 +1212,8 @@ public final class Helloworld {
}
/**
* <code>string name = 1;</code>
+ * @param value The bytes for name to set.
+ * @return This builder for chaining.
*/
public Builder setNameBytes(
com.google.protobuf.ByteString value) {
@@ -1183,6 +1230,7 @@ public final class Helloworld {
private java.lang.Object id_ = "";
/**
* <code>string id = 2;</code>
+ * @return The id.
*/
public java.lang.String getId() {
java.lang.Object ref = id_;
@@ -1198,6 +1246,7 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @return The bytes for id.
*/
public com.google.protobuf.ByteString
getIdBytes() {
@@ -1214,6 +1263,8 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @param value The id to set.
+ * @return This builder for chaining.
*/
public Builder setId(
java.lang.String value) {
@@ -1227,6 +1278,7 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @return This builder for chaining.
*/
public Builder clearId() {
@@ -1236,6 +1288,8 @@ public final class Helloworld {
}
/**
* <code>string id = 2;</code>
+ * @param value The bytes for id to set.
+ * @return This builder for chaining.
*/
public Builder setIdBytes(
com.google.protobuf.ByteString value) {
@@ -1252,12 +1306,16 @@ public final class Helloworld {
private int age_ ;
/**
* <code>int32 age = 3;</code>
+ * @return The age.
*/
+ @java.lang.Override
public int getAge() {
return age_;
}
/**
* <code>int32 age = 3;</code>
+ * @param value The age to set.
+ * @return This builder for chaining.
*/
public Builder setAge(int value) {
@@ -1267,6 +1325,7 @@ public final class Helloworld {
}
/**
* <code>int32 age = 3;</code>
+ * @return This builder for chaining.
*/
public Builder clearAge() {
@@ -1351,18 +1410,10 @@ public final class Helloworld {
"(\t\022\n\n\002id\030\002 \001(\t\022\013\n\003age\030\003 \001(\005B\037\n\035org.apach" +
"e.dubbo.sample.hellob\006proto3"
};
- com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
- new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
- public com.google.protobuf.ExtensionRegistry assignDescriptors(
- com.google.protobuf.Descriptors.FileDescriptor root) {
- descriptor = root;
- return null;
- }
- };
- com.google.protobuf.Descriptors.FileDescriptor
+ descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
new com.google.protobuf.Descriptors.FileDescriptor[] {
- }, assigner);
+ });
internal_static_helloworld_HelloRequest_descriptor =
getDescriptor().getMessageTypes().get(0);
internal_static_helloworld_HelloRequest_fieldAccessorTable = new
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/pom.xml b/rpc/dubbo3/pb/dubbogo-java/java-server/pom.xml
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/pom.xml
rename to rpc/dubbo3/pb/dubbogo-java/java-server/pom.xml
diff --git a/general/dubbo3/hessian2/java-server/run.sh b/rpc/dubbo3/pb/dubbogo-java/java-server/run.sh
similarity index 100%
rename from general/dubbo3/hessian2/java-server/run.sh
rename to rpc/dubbo3/pb/dubbogo-java/java-server/run.sh
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java b/rpc/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
rename to rpc/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/rpc/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
rename to rpc/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
diff --git a/general/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java b/rpc/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
similarity index 100%
rename from general/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
rename to rpc/dubbo3/pb/dubbogo-java/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
diff --git a/general/dubbo3/hessian2/java-client/src/main/proto/helloworld.proto b/rpc/dubbo3/pb/dubbogo-java/java-server/src/main/proto/helloworld.proto
similarity index 100%
rename from general/dubbo3/hessian2/java-client/src/main/proto/helloworld.proto
rename to rpc/dubbo3/pb/dubbogo-java/java-server/src/main/proto/helloworld.proto
diff --git a/general/dubbo3/hessian2/java-client/src/main/resources/log4j.properties b/rpc/dubbo3/pb/dubbogo-java/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from general/dubbo3/hessian2/java-client/src/main/resources/log4j.properties
rename to rpc/dubbo3/pb/dubbogo-java/java-server/src/main/resources/log4j.properties
diff --git a/helloworld/protobuf/helloworld.pb.go b/rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
similarity index 100%
rename from helloworld/protobuf/helloworld.pb.go
rename to rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.pb.go
diff --git a/helloworld/protobuf/helloworld.proto b/rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.proto
similarity index 100%
rename from helloworld/protobuf/helloworld.proto
rename to rpc/dubbo3/pb/dubbogo-java/protobuf/helloworld.proto
diff --git a/helloworld/protobuf/protobuf.mk b/rpc/dubbo3/pb/dubbogo-java/protobuf/protobuf.mk
similarity index 100%
rename from helloworld/protobuf/protobuf.mk
rename to rpc/dubbo3/pb/dubbogo-java/protobuf/protobuf.mk
diff --git a/general/grpc/go-client/cmd/client.go b/rpc/grpc/go-client/cmd/client.go
similarity index 100%
rename from general/grpc/go-client/cmd/client.go
rename to rpc/grpc/go-client/cmd/client.go
diff --git a/general/grpc/go-client/conf/client.yml b/rpc/grpc/go-client/conf/client.yml
similarity index 100%
rename from general/grpc/go-client/conf/client.yml
rename to rpc/grpc/go-client/conf/client.yml
diff --git a/general/grpc/go-client/conf/log.yml b/rpc/grpc/go-client/conf/log.yml
similarity index 100%
rename from general/grpc/go-client/conf/log.yml
rename to rpc/grpc/go-client/conf/log.yml
diff --git a/general/grpc/go-server/cmd/server.go b/rpc/grpc/go-server/cmd/server.go
similarity index 100%
rename from general/grpc/go-server/cmd/server.go
rename to rpc/grpc/go-server/cmd/server.go
diff --git a/general/grpc/go-server/conf/client.yml b/rpc/grpc/go-server/conf/client.yml
similarity index 100%
rename from general/grpc/go-server/conf/client.yml
rename to rpc/grpc/go-server/conf/client.yml
diff --git a/general/grpc/go-server/conf/log.yml b/rpc/grpc/go-server/conf/log.yml
similarity index 100%
rename from general/grpc/go-server/conf/log.yml
rename to rpc/grpc/go-server/conf/log.yml
diff --git a/general/grpc/go-server/conf/server.yml b/rpc/grpc/go-server/conf/server.yml
similarity index 100%
rename from general/grpc/go-server/conf/server.yml
rename to rpc/grpc/go-server/conf/server.yml
diff --git a/general/grpc/go-server/docker/docker-compose.yml b/rpc/grpc/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/grpc/go-server/docker/docker-compose.yml
rename to rpc/grpc/go-server/docker/docker-compose.yml
diff --git a/general/dubbo/go-server/docker/docker-health-check.sh b/rpc/grpc/go-server/docker/docker-health-check.sh
similarity index 100%
rename from general/dubbo/go-server/docker/docker-health-check.sh
rename to rpc/grpc/go-server/docker/docker-health-check.sh
diff --git a/general/grpc/go-server/pkg/greeter.go b/rpc/grpc/go-server/pkg/greeter.go
similarity index 100%
rename from general/grpc/go-server/pkg/greeter.go
rename to rpc/grpc/go-server/pkg/greeter.go
diff --git a/general/grpc/go-server/tests/integration/greeter_test.go b/rpc/grpc/go-server/tests/integration/greeter_test.go
similarity index 100%
rename from general/grpc/go-server/tests/integration/greeter_test.go
rename to rpc/grpc/go-server/tests/integration/greeter_test.go
diff --git a/general/grpc/go-server/tests/integration/main_test.go b/rpc/grpc/go-server/tests/integration/main_test.go
similarity index 100%
rename from general/grpc/go-server/tests/integration/main_test.go
rename to rpc/grpc/go-server/tests/integration/main_test.go
diff --git a/general/grpc/protobuf/helloworld.pb.go b/rpc/grpc/protobuf/helloworld.pb.go
similarity index 100%
rename from general/grpc/protobuf/helloworld.pb.go
rename to rpc/grpc/protobuf/helloworld.pb.go
diff --git a/general/grpc/protobuf/helloworld.proto b/rpc/grpc/protobuf/helloworld.proto
similarity index 100%
rename from general/grpc/protobuf/helloworld.proto
rename to rpc/grpc/protobuf/helloworld.proto
diff --git a/general/grpc/protobuf/protobuf.mk b/rpc/grpc/protobuf/protobuf.mk
similarity index 100%
rename from general/grpc/protobuf/protobuf.mk
rename to rpc/grpc/protobuf/protobuf.mk
diff --git a/general/grpc/stream/go-client/app/Makefile b/rpc/grpc/stream/go-client/app/Makefile
similarity index 100%
rename from general/grpc/stream/go-client/app/Makefile
rename to rpc/grpc/stream/go-client/app/Makefile
diff --git a/general/grpc/stream/go-client/app/client.go b/rpc/grpc/stream/go-client/app/client.go
similarity index 100%
rename from general/grpc/stream/go-client/app/client.go
rename to rpc/grpc/stream/go-client/app/client.go
diff --git a/general/grpc/stream/go-server/app/helloworld.pb.go b/rpc/grpc/stream/go-client/app/helloworld.pb.go
similarity index 100%
rename from general/grpc/stream/go-server/app/helloworld.pb.go
rename to rpc/grpc/stream/go-client/app/helloworld.pb.go
diff --git a/general/grpc/stream/go-server/app/helloworld.proto b/rpc/grpc/stream/go-client/app/helloworld.proto
similarity index 100%
rename from general/grpc/stream/go-server/app/helloworld.proto
rename to rpc/grpc/stream/go-client/app/helloworld.proto
diff --git a/general/rest/go-server/cmd/version.go b/rpc/grpc/stream/go-client/app/version.go
similarity index 100%
rename from general/rest/go-server/cmd/version.go
rename to rpc/grpc/stream/go-client/app/version.go
diff --git a/general/grpc/stream/go-client/assembly/bin/load.sh b/rpc/grpc/stream/go-client/assembly/bin/load.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/bin/load.sh
rename to rpc/grpc/stream/go-client/assembly/bin/load.sh
diff --git a/general/grpc/stream/go-client/assembly/common/app.properties b/rpc/grpc/stream/go-client/assembly/common/app.properties
similarity index 100%
rename from general/grpc/stream/go-client/assembly/common/app.properties
rename to rpc/grpc/stream/go-client/assembly/common/app.properties
diff --git a/general/grpc/stream/go-client/assembly/common/build.sh b/rpc/grpc/stream/go-client/assembly/common/build.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/common/build.sh
rename to rpc/grpc/stream/go-client/assembly/common/build.sh
diff --git a/general/grpc/stream/go-client/assembly/linux/dev.sh b/rpc/grpc/stream/go-client/assembly/linux/dev.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/linux/dev.sh
rename to rpc/grpc/stream/go-client/assembly/linux/dev.sh
diff --git a/general/grpc/stream/go-client/assembly/linux/release.sh b/rpc/grpc/stream/go-client/assembly/linux/release.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/linux/release.sh
rename to rpc/grpc/stream/go-client/assembly/linux/release.sh
diff --git a/general/grpc/stream/go-client/assembly/linux/test.sh b/rpc/grpc/stream/go-client/assembly/linux/test.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/linux/test.sh
rename to rpc/grpc/stream/go-client/assembly/linux/test.sh
diff --git a/general/grpc/stream/go-client/assembly/mac/dev.sh b/rpc/grpc/stream/go-client/assembly/mac/dev.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/mac/dev.sh
rename to rpc/grpc/stream/go-client/assembly/mac/dev.sh
diff --git a/general/grpc/stream/go-client/assembly/mac/release.sh b/rpc/grpc/stream/go-client/assembly/mac/release.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/mac/release.sh
rename to rpc/grpc/stream/go-client/assembly/mac/release.sh
diff --git a/general/grpc/stream/go-client/assembly/mac/test.sh b/rpc/grpc/stream/go-client/assembly/mac/test.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/mac/test.sh
rename to rpc/grpc/stream/go-client/assembly/mac/test.sh
diff --git a/general/grpc/stream/go-client/assembly/windows/dev.sh b/rpc/grpc/stream/go-client/assembly/windows/dev.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/windows/dev.sh
rename to rpc/grpc/stream/go-client/assembly/windows/dev.sh
diff --git a/general/grpc/stream/go-client/assembly/windows/release.sh b/rpc/grpc/stream/go-client/assembly/windows/release.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/windows/release.sh
rename to rpc/grpc/stream/go-client/assembly/windows/release.sh
diff --git a/general/grpc/stream/go-client/assembly/windows/test.sh b/rpc/grpc/stream/go-client/assembly/windows/test.sh
similarity index 100%
rename from general/grpc/stream/go-client/assembly/windows/test.sh
rename to rpc/grpc/stream/go-client/assembly/windows/test.sh
diff --git a/general/grpc/stream/go-client/profiles/dev/client.yml b/rpc/grpc/stream/go-client/profiles/dev/client.yml
similarity index 100%
rename from general/grpc/stream/go-client/profiles/dev/client.yml
rename to rpc/grpc/stream/go-client/profiles/dev/client.yml
diff --git a/general/jsonrpc/go-server/conf/log.yml b/rpc/grpc/stream/go-client/profiles/dev/log.yml
similarity index 100%
rename from general/jsonrpc/go-server/conf/log.yml
rename to rpc/grpc/stream/go-client/profiles/dev/log.yml
diff --git a/general/grpc/stream/go-server/profiles/release/log.yml b/rpc/grpc/stream/go-client/profiles/release/log.yml
similarity index 100%
rename from general/grpc/stream/go-server/profiles/release/log.yml
rename to rpc/grpc/stream/go-client/profiles/release/log.yml
diff --git a/general/grpc/stream/go-client/profiles/test/client.yml b/rpc/grpc/stream/go-client/profiles/test/client.yml
similarity index 100%
rename from general/grpc/stream/go-client/profiles/test/client.yml
rename to rpc/grpc/stream/go-client/profiles/test/client.yml
diff --git a/general/grpc/stream/go-server/profiles/test/log.yml b/rpc/grpc/stream/go-client/profiles/test/log.yml
similarity index 100%
rename from general/grpc/stream/go-server/profiles/test/log.yml
rename to rpc/grpc/stream/go-client/profiles/test/log.yml
diff --git a/general/grpc/stream/go-server/app/greeter.go b/rpc/grpc/stream/go-server/app/greeter.go
similarity index 100%
rename from general/grpc/stream/go-server/app/greeter.go
rename to rpc/grpc/stream/go-server/app/greeter.go
diff --git a/general/grpc/stream/go-client/app/helloworld.pb.go b/rpc/grpc/stream/go-server/app/helloworld.pb.go
similarity index 100%
rename from general/grpc/stream/go-client/app/helloworld.pb.go
rename to rpc/grpc/stream/go-server/app/helloworld.pb.go
diff --git a/general/grpc/stream/go-client/app/helloworld.proto b/rpc/grpc/stream/go-server/app/helloworld.proto
similarity index 100%
rename from general/grpc/stream/go-client/app/helloworld.proto
rename to rpc/grpc/stream/go-server/app/helloworld.proto
diff --git a/general/grpc/stream/go-server/app/server.go b/rpc/grpc/stream/go-server/app/server.go
similarity index 100%
rename from general/grpc/stream/go-server/app/server.go
rename to rpc/grpc/stream/go-server/app/server.go
diff --git a/general/rest/go-client/cmd/version.go b/rpc/grpc/stream/go-server/app/version.go
similarity index 100%
rename from general/rest/go-client/cmd/version.go
rename to rpc/grpc/stream/go-server/app/version.go
diff --git a/general/grpc/stream/go-server/assembly/bin/load.sh b/rpc/grpc/stream/go-server/assembly/bin/load.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/bin/load.sh
rename to rpc/grpc/stream/go-server/assembly/bin/load.sh
diff --git a/general/grpc/stream/go-server/assembly/common/app.properties b/rpc/grpc/stream/go-server/assembly/common/app.properties
similarity index 100%
rename from general/grpc/stream/go-server/assembly/common/app.properties
rename to rpc/grpc/stream/go-server/assembly/common/app.properties
diff --git a/general/grpc/stream/go-server/assembly/common/build.sh b/rpc/grpc/stream/go-server/assembly/common/build.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/common/build.sh
rename to rpc/grpc/stream/go-server/assembly/common/build.sh
diff --git a/general/grpc/stream/go-server/assembly/linux/dev.sh b/rpc/grpc/stream/go-server/assembly/linux/dev.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/linux/dev.sh
rename to rpc/grpc/stream/go-server/assembly/linux/dev.sh
diff --git a/general/grpc/stream/go-server/assembly/linux/release.sh b/rpc/grpc/stream/go-server/assembly/linux/release.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/linux/release.sh
rename to rpc/grpc/stream/go-server/assembly/linux/release.sh
diff --git a/general/grpc/stream/go-server/assembly/linux/test.sh b/rpc/grpc/stream/go-server/assembly/linux/test.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/linux/test.sh
rename to rpc/grpc/stream/go-server/assembly/linux/test.sh
diff --git a/general/grpc/stream/go-server/assembly/mac/dev.sh b/rpc/grpc/stream/go-server/assembly/mac/dev.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/mac/dev.sh
rename to rpc/grpc/stream/go-server/assembly/mac/dev.sh
diff --git a/general/grpc/stream/go-server/assembly/mac/release.sh b/rpc/grpc/stream/go-server/assembly/mac/release.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/mac/release.sh
rename to rpc/grpc/stream/go-server/assembly/mac/release.sh
diff --git a/general/grpc/stream/go-server/assembly/mac/test.sh b/rpc/grpc/stream/go-server/assembly/mac/test.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/mac/test.sh
rename to rpc/grpc/stream/go-server/assembly/mac/test.sh
diff --git a/general/grpc/stream/go-server/assembly/windows/dev.sh b/rpc/grpc/stream/go-server/assembly/windows/dev.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/windows/dev.sh
rename to rpc/grpc/stream/go-server/assembly/windows/dev.sh
diff --git a/general/grpc/stream/go-server/assembly/windows/release.sh b/rpc/grpc/stream/go-server/assembly/windows/release.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/windows/release.sh
rename to rpc/grpc/stream/go-server/assembly/windows/release.sh
diff --git a/general/grpc/stream/go-server/assembly/windows/test.sh b/rpc/grpc/stream/go-server/assembly/windows/test.sh
similarity index 100%
rename from general/grpc/stream/go-server/assembly/windows/test.sh
rename to rpc/grpc/stream/go-server/assembly/windows/test.sh
diff --git a/general/jsonrpc/go-client/conf/log.yml b/rpc/grpc/stream/go-server/profiles/dev/log.yml
similarity index 100%
rename from general/jsonrpc/go-client/conf/log.yml
rename to rpc/grpc/stream/go-server/profiles/dev/log.yml
diff --git a/general/grpc/stream/go-server/profiles/dev/server.yml b/rpc/grpc/stream/go-server/profiles/dev/server.yml
similarity index 100%
rename from general/grpc/stream/go-server/profiles/dev/server.yml
rename to rpc/grpc/stream/go-server/profiles/dev/server.yml
diff --git a/general/grpc/stream/go-client/profiles/release/log.yml b/rpc/grpc/stream/go-server/profiles/release/log.yml
similarity index 100%
rename from general/grpc/stream/go-client/profiles/release/log.yml
rename to rpc/grpc/stream/go-server/profiles/release/log.yml
diff --git a/general/grpc/stream/go-server/profiles/release/server.yml b/rpc/grpc/stream/go-server/profiles/release/server.yml
similarity index 100%
rename from general/grpc/stream/go-server/profiles/release/server.yml
rename to rpc/grpc/stream/go-server/profiles/release/server.yml
diff --git a/general/grpc/stream/go-client/profiles/test/log.yml b/rpc/grpc/stream/go-server/profiles/test/log.yml
similarity index 100%
rename from general/grpc/stream/go-client/profiles/test/log.yml
rename to rpc/grpc/stream/go-server/profiles/test/log.yml
diff --git a/general/grpc/stream/go-server/profiles/test/server.yml b/rpc/grpc/stream/go-server/profiles/test/server.yml
similarity index 100%
rename from general/grpc/stream/go-server/profiles/test/server.yml
rename to rpc/grpc/stream/go-server/profiles/test/server.yml
diff --git a/general/jsonrpc/go-client/cmd/client.go b/rpc/jsonrpc/go-client/cmd/client.go
similarity index 100%
rename from general/jsonrpc/go-client/cmd/client.go
rename to rpc/jsonrpc/go-client/cmd/client.go
diff --git a/general/jsonrpc/go-client/conf/client.yml b/rpc/jsonrpc/go-client/conf/client.yml
similarity index 100%
rename from general/jsonrpc/go-client/conf/client.yml
rename to rpc/jsonrpc/go-client/conf/client.yml
diff --git a/general/grpc/stream/go-server/profiles/dev/log.yml b/rpc/jsonrpc/go-client/conf/log.yml
similarity index 100%
rename from general/grpc/stream/go-server/profiles/dev/log.yml
rename to rpc/jsonrpc/go-client/conf/log.yml
diff --git a/general/jsonrpc/go-client/pkg/user.go b/rpc/jsonrpc/go-client/pkg/user.go
similarity index 100%
rename from general/jsonrpc/go-client/pkg/user.go
rename to rpc/jsonrpc/go-client/pkg/user.go
diff --git a/general/jsonrpc/go-server/cmd/server.go b/rpc/jsonrpc/go-server/cmd/server.go
similarity index 100%
rename from general/jsonrpc/go-server/cmd/server.go
rename to rpc/jsonrpc/go-server/cmd/server.go
diff --git a/general/grpc/stream/go-client/profiles/dev/log.yml b/rpc/jsonrpc/go-server/conf/log.yml
similarity index 100%
rename from general/grpc/stream/go-client/profiles/dev/log.yml
rename to rpc/jsonrpc/go-server/conf/log.yml
diff --git a/general/jsonrpc/go-server/conf/server.yml b/rpc/jsonrpc/go-server/conf/server.yml
similarity index 100%
rename from general/jsonrpc/go-server/conf/server.yml
rename to rpc/jsonrpc/go-server/conf/server.yml
diff --git a/general/jsonrpc/go-server/pkg/user.go b/rpc/jsonrpc/go-server/pkg/user.go
similarity index 100%
rename from general/jsonrpc/go-server/pkg/user.go
rename to rpc/jsonrpc/go-server/pkg/user.go
diff --git a/general/jsonrpc/go-server/pkg/user_provider.go b/rpc/jsonrpc/go-server/pkg/user_provider.go
similarity index 100%
rename from general/jsonrpc/go-server/pkg/user_provider.go
rename to rpc/jsonrpc/go-server/pkg/user_provider.go
diff --git a/general/jsonrpc/go-server/pkg/user_provider1.go b/rpc/jsonrpc/go-server/pkg/user_provider1.go
similarity index 100%
rename from general/jsonrpc/go-server/pkg/user_provider1.go
rename to rpc/jsonrpc/go-server/pkg/user_provider1.go
diff --git a/general/jsonrpc/go-server/pkg/user_provider2.go b/rpc/jsonrpc/go-server/pkg/user_provider2.go
similarity index 100%
rename from general/jsonrpc/go-server/pkg/user_provider2.go
rename to rpc/jsonrpc/go-server/pkg/user_provider2.go
diff --git a/general/jsonrpc/java-client/build.sh b/rpc/jsonrpc/java-client/build.sh
similarity index 100%
rename from general/jsonrpc/java-client/build.sh
rename to rpc/jsonrpc/java-client/build.sh
diff --git a/general/jsonrpc/java-client/pom.xml b/rpc/jsonrpc/java-client/pom.xml
similarity index 100%
rename from general/jsonrpc/java-client/pom.xml
rename to rpc/jsonrpc/java-client/pom.xml
diff --git a/general/jsonrpc/java-client/src/main/assembly/assembly.xml b/rpc/jsonrpc/java-client/src/main/assembly/assembly.xml
similarity index 100%
rename from general/jsonrpc/java-client/src/main/assembly/assembly.xml
rename to rpc/jsonrpc/java-client/src/main/assembly/assembly.xml
diff --git a/general/jsonrpc/java-client/src/main/resources/dubbo.properties b/rpc/jsonrpc/java-client/src/main/assembly/conf/dubbo.properties
similarity index 100%
rename from general/jsonrpc/java-client/src/main/resources/dubbo.properties
rename to rpc/jsonrpc/java-client/src/main/assembly/conf/dubbo.properties
diff --git a/general/dubbo/java-client/2.7/src/main/resources/log4j.properties b/rpc/jsonrpc/java-client/src/main/assembly/conf/log4j.properties
similarity index 100%
rename from general/dubbo/java-client/2.7/src/main/resources/log4j.properties
rename to rpc/jsonrpc/java-client/src/main/assembly/conf/log4j.properties
diff --git a/general/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java b/rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java
similarity index 100%
rename from general/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java
rename to rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/Consumer.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/Gender.java b/rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/Gender.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/Gender.java
rename to rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/Gender.java
diff --git a/general/jsonrpc/java-client/src/main/java/com/ikurento/user/User.java b/rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/User.java
similarity index 100%
rename from general/jsonrpc/java-client/src/main/java/com/ikurento/user/User.java
rename to rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/User.java
diff --git a/general/jsonrpc/java-client/src/main/java/com/ikurento/user/UserProvider.java b/rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
rename from general/jsonrpc/java-client/src/main/java/com/ikurento/user/UserProvider.java
rename to rpc/jsonrpc/java-client/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/general/jsonrpc/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/rpc/jsonrpc/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
rename from general/jsonrpc/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
rename to rpc/jsonrpc/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/general/jsonrpc/java-client/src/main/resources/META-INF/spring/service.xml b/rpc/jsonrpc/java-client/src/main/resources/META-INF/spring/service.xml
similarity index 100%
rename from general/jsonrpc/java-client/src/main/resources/META-INF/spring/service.xml
rename to rpc/jsonrpc/java-client/src/main/resources/META-INF/spring/service.xml
diff --git a/general/jsonrpc/java-client/src/main/assembly/conf/dubbo.properties b/rpc/jsonrpc/java-client/src/main/resources/dubbo.properties
similarity index 100%
rename from general/jsonrpc/java-client/src/main/assembly/conf/dubbo.properties
rename to rpc/jsonrpc/java-client/src/main/resources/dubbo.properties
diff --git a/general/dubbo/java-client/2.6/src/main/resources/log4j.properties b/rpc/jsonrpc/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from general/dubbo/java-client/2.6/src/main/resources/log4j.properties
rename to rpc/jsonrpc/java-client/src/main/resources/log4j.properties
diff --git a/general/jsonrpc/java-server/build.sh b/rpc/jsonrpc/java-server/build.sh
similarity index 100%
rename from general/jsonrpc/java-server/build.sh
rename to rpc/jsonrpc/java-server/build.sh
diff --git a/general/jsonrpc/java-server/pom.xml b/rpc/jsonrpc/java-server/pom.xml
similarity index 100%
rename from general/jsonrpc/java-server/pom.xml
rename to rpc/jsonrpc/java-server/pom.xml
diff --git a/general/jsonrpc/java-server/script/debug.sh b/rpc/jsonrpc/java-server/script/debug.sh
similarity index 100%
rename from general/jsonrpc/java-server/script/debug.sh
rename to rpc/jsonrpc/java-server/script/debug.sh
diff --git a/general/jsonrpc/java-server/src/main/assembly/assembly.xml b/rpc/jsonrpc/java-server/src/main/assembly/assembly.xml
similarity index 100%
rename from general/jsonrpc/java-server/src/main/assembly/assembly.xml
rename to rpc/jsonrpc/java-server/src/main/assembly/assembly.xml
diff --git a/general/jsonrpc/java-server/src/main/assembly/conf/dubbo.properties b/rpc/jsonrpc/java-server/src/main/assembly/conf/dubbo.properties
similarity index 100%
rename from general/jsonrpc/java-server/src/main/assembly/conf/dubbo.properties
rename to rpc/jsonrpc/java-server/src/main/assembly/conf/dubbo.properties
diff --git a/general/dubbo/java-server/2.7/src/main/resources/log4j.properties b/rpc/jsonrpc/java-server/src/main/assembly/conf/log4j.properties
similarity index 100%
rename from general/dubbo/java-server/2.7/src/main/resources/log4j.properties
rename to rpc/jsonrpc/java-server/src/main/assembly/conf/log4j.properties
diff --git a/general/jsonrpc/java-client/src/main/java/com/ikurento/user/Gender.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/Gender.java
similarity index 100%
rename from general/jsonrpc/java-client/src/main/java/com/ikurento/user/Gender.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/Gender.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/Provider.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/Provider.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/Provider.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/Provider.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/Response.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/Response.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/Response.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/Response.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/User.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/User.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/User.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/User.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProvider.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProvider.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProvider.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProvider.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderAnotherImpl.java
diff --git a/general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
similarity index 100%
rename from general/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
rename to rpc/jsonrpc/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java
diff --git a/general/jsonrpc/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/rpc/jsonrpc/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
rename from general/jsonrpc/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
rename to rpc/jsonrpc/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/general/dubbo/java-server/2.6/src/main/resources/log4j.properties b/rpc/jsonrpc/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from general/dubbo/java-server/2.6/src/main/resources/log4j.properties
rename to rpc/jsonrpc/java-server/src/main/resources/log4j.properties
diff --git a/general/rest/README.md b/rpc/rest/README.md
similarity index 100%
rename from general/rest/README.md
rename to rpc/rest/README.md
diff --git a/general/rest/README_zh.md b/rpc/rest/README_zh.md
similarity index 100%
rename from general/rest/README_zh.md
rename to rpc/rest/README_zh.md
diff --git a/general/rest/go-client/cmd/client.go b/rpc/rest/go-client/cmd/client.go
similarity index 100%
rename from general/rest/go-client/cmd/client.go
rename to rpc/rest/go-client/cmd/client.go
diff --git a/general/grpc/stream/go-server/app/version.go b/rpc/rest/go-client/cmd/version.go
similarity index 100%
rename from general/grpc/stream/go-server/app/version.go
rename to rpc/rest/go-client/cmd/version.go
diff --git a/general/rest/go-client/conf/client.yml b/rpc/rest/go-client/conf/client.yml
similarity index 100%
rename from general/rest/go-client/conf/client.yml
rename to rpc/rest/go-client/conf/client.yml
diff --git a/general/rest/go-server/conf/log.yml b/rpc/rest/go-client/conf/log.yml
similarity index 100%
rename from general/rest/go-server/conf/log.yml
rename to rpc/rest/go-client/conf/log.yml
diff --git a/general/dubbo3/codec-extension/go-server/docker/docker-compose.yml b/rpc/rest/go-client/docker/docker-compose.yml
similarity index 100%
rename from general/dubbo3/codec-extension/go-server/docker/docker-compose.yml
rename to rpc/rest/go-client/docker/docker-compose.yml
diff --git a/general/rest/go-client/pkg/user.go b/rpc/rest/go-client/pkg/user.go
similarity index 100%
rename from general/rest/go-client/pkg/user.go
rename to rpc/rest/go-client/pkg/user.go
diff --git a/general/rest/go-server/cmd/server.go b/rpc/rest/go-server/cmd/server.go
similarity index 100%
rename from general/rest/go-server/cmd/server.go
rename to rpc/rest/go-server/cmd/server.go
diff --git a/general/grpc/stream/go-client/app/version.go b/rpc/rest/go-server/cmd/version.go
similarity index 100%
rename from general/grpc/stream/go-client/app/version.go
rename to rpc/rest/go-server/cmd/version.go
diff --git a/general/rest/go-client/conf/log.yml b/rpc/rest/go-server/conf/log.yml
similarity index 100%
rename from general/rest/go-client/conf/log.yml
rename to rpc/rest/go-server/conf/log.yml
diff --git a/general/rest/go-server/conf/server.yml b/rpc/rest/go-server/conf/server.yml
similarity index 100%
rename from general/rest/go-server/conf/server.yml
rename to rpc/rest/go-server/conf/server.yml
diff --git a/general/dubbo/go-server/docker/docker-compose.yml b/rpc/rest/go-server/docker/docker-compose.yml
similarity index 100%
rename from general/dubbo/go-server/docker/docker-compose.yml
rename to rpc/rest/go-server/docker/docker-compose.yml
diff --git a/general/rest/go-server/pkg/user.go b/rpc/rest/go-server/pkg/user.go
similarity index 100%
rename from general/rest/go-server/pkg/user.go
rename to rpc/rest/go-server/pkg/user.go
diff --git a/general/rest/go-server/pkg/user_provider.go b/rpc/rest/go-server/pkg/user_provider.go
similarity index 100%
rename from general/rest/go-server/pkg/user_provider.go
rename to rpc/rest/go-server/pkg/user_provider.go
diff --git a/general/rest/go-server/pkg/user_provider1.go b/rpc/rest/go-server/pkg/user_provider1.go
similarity index 100%
rename from general/rest/go-server/pkg/user_provider1.go
rename to rpc/rest/go-server/pkg/user_provider1.go
diff --git a/general/rest/go-server/pkg/user_provider2.go b/rpc/rest/go-server/pkg/user_provider2.go
similarity index 100%
rename from general/rest/go-server/pkg/user_provider2.go
rename to rpc/rest/go-server/pkg/user_provider2.go
[dubbo-go-samples] 12/14: Feat/nacos registry (#217)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 008e2b2cc0186c788f6f8e2aa114a5ca01098765
Author: Mulavar <97...@qq.com>
AuthorDate: Fri Sep 3 21:13:29 2021 +0800
Feat/nacos registry (#217)
* add new protocol config & fomat yaml config
* replace '_' with '-'
* add nacos integrate test
Co-authored-by: dongjianhui03 <do...@meituan.com>
---
.run/registry/registry-nacos-go-client.run.xml | 2 +-
.../registry/nacos}/docker/docker-compose.yml | 0
.../registry/nacos}/docker/docker-health-check.sh | 0
.../registry/nacos}/tests/integration/main_test.go | 6 ++--
.../nacos}/tests/integration/userprovider_test.go | 3 +-
registry/nacos/go-client/cmd/client.go | 13 ++------
registry/nacos/go-client/conf/dubbogo.yml | 38 ++++++++++++++++++----
registry/nacos/go-server/cmd/server.go | 10 ++----
registry/nacos/go-server/conf/dubbogo.yml | 34 ++++++++++++++-----
start_integrate_test.sh | 1 +
10 files changed, 67 insertions(+), 40 deletions(-)
diff --git a/.run/registry/registry-nacos-go-client.run.xml b/.run/registry/registry-nacos-go-client.run.xml
index d720d09..0f9987d 100644
--- a/.run/registry/registry-nacos-go-client.run.xml
+++ b/.run/registry/registry-nacos-go-client.run.xml
@@ -4,7 +4,7 @@
<working_directory value="$PROJECT_DIR$" />
<envs>
<env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/registry/nacos/go-client/conf/dubbogo.yml" />
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/registry/nacos/go-client/conf/log.yml" />
+ <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/registry/nacos/go-client/conf/log.yml" />
</envs>
<kind value="PACKAGE" />
<package value="github.com/apache/dubbo-go-samples/registry/nacos/go-client/cmd" />
diff --git a/registry/nacos/go-server/docker/docker-compose.yml b/integrate_test/registry/nacos/docker/docker-compose.yml
similarity index 100%
rename from registry/nacos/go-server/docker/docker-compose.yml
rename to integrate_test/registry/nacos/docker/docker-compose.yml
diff --git a/registry/nacos/go-server/docker/docker-health-check.sh b/integrate_test/registry/nacos/docker/docker-health-check.sh
similarity index 100%
rename from registry/nacos/go-server/docker/docker-health-check.sh
rename to integrate_test/registry/nacos/docker/docker-health-check.sh
diff --git a/registry/nacos/go-server/tests/integration/main_test.go b/integrate_test/registry/nacos/tests/integration/main_test.go
similarity index 93%
rename from registry/nacos/go-server/tests/integration/main_test.go
rename to integrate_test/registry/nacos/tests/integration/main_test.go
index 7de6914..1667576 100644
--- a/registry/nacos/go-server/tests/integration/main_test.go
+++ b/integrate_test/registry/nacos/tests/integration/main_test.go
@@ -39,7 +39,7 @@ import (
hessian "github.com/apache/dubbo-go-hessian2"
)
-var userProvider = new(UserProvider)
+var userProvider = &UserProvider{}
func TestMain(m *testing.M) {
config.SetConsumerService(userProvider)
@@ -58,11 +58,11 @@ type User struct {
}
type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetUser func(ctx context.Context, req *User) (rsp *User, err error)
}
func (u *UserProvider) Reference() string {
- return "UserProvider"
+ return "userProvider"
}
func (User) JavaClassName() string {
diff --git a/registry/nacos/go-server/tests/integration/userprovider_test.go b/integrate_test/registry/nacos/tests/integration/userprovider_test.go
similarity index 92%
rename from registry/nacos/go-server/tests/integration/userprovider_test.go
rename to integrate_test/registry/nacos/tests/integration/userprovider_test.go
index 7183e64..7f17774 100644
--- a/registry/nacos/go-server/tests/integration/userprovider_test.go
+++ b/integrate_test/registry/nacos/tests/integration/userprovider_test.go
@@ -29,8 +29,7 @@ import (
)
func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{ID: "A001"})
assert.Nil(t, err)
assert.Equal(t, "A001", user.ID)
assert.Equal(t, "Alex Stocks", user.Name)
diff --git a/registry/nacos/go-client/cmd/client.go b/registry/nacos/go-client/cmd/client.go
index 5412757..5fa85e1 100644
--- a/registry/nacos/go-client/cmd/client.go
+++ b/registry/nacos/go-client/cmd/client.go
@@ -24,14 +24,8 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
@@ -39,7 +33,7 @@ import (
)
type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetUser func(ctx context.Context, req *User) (rsp *User, err error)
}
func (u *UserProvider) Reference() string {
@@ -66,8 +60,7 @@ func main() {
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{Name: "Alex001"})
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
diff --git a/registry/nacos/go-client/conf/dubbogo.yml b/registry/nacos/go-client/conf/dubbogo.yml
index a3eafaa..3545d9a 100644
--- a/registry/nacos/go-client/conf/dubbogo.yml
+++ b/registry/nacos/go-client/conf/dubbogo.yml
@@ -1,13 +1,37 @@
dubbo:
registries:
- "demoNacos":
- protocol: "nacos"
- timeout: "3s"
- address: "127.0.0.1:8848"
+ demoNacos:
+ protocol: nacos
+ timeout: 3s
+ address: 127.0.0.1:8848
+ protocols:
+ dubbo:
+ name: dubbo
+ port: 20000
+ # 在 params 中定义当前使用的协议特有的网络配置
+ # 如该 sample 配置的是 dubbo 协议(底层使用 getty 通信库)的参数
+ params:
+ reconnect-interval: 2
+ connection-number: 1
+ heartbeat-period: 5s
+ session-timeout: 180s
+ pool-size: 64
+ pool-ttl: 600
+ compress-encoding: false
+ tcp-no-delay: true
+ tcp-keep-alive: true
+ keep-alive-period: 120s
+ tcp-r-buf-size: 262144
+ tcp-w-buf-size: 65536
+ tcp-read-timeout: 1s
+ tcp-write-timeout: 5s
+ wait-timeout: 1s
+ max-msg-len: 1024000
+ session-name: client
consumer:
registry:
- demoNacos
references:
- "userProvider":
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
+ userProvider:
+ protocol: dubbo
+ interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/registry/nacos/go-server/cmd/server.go b/registry/nacos/go-server/cmd/server.go
index 1670192..b71d550 100644
--- a/registry/nacos/go-server/cmd/server.go
+++ b/registry/nacos/go-server/cmd/server.go
@@ -27,15 +27,9 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
@@ -62,7 +56,7 @@ type User struct {
type UserProvider struct {
}
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
+func (u *UserProvider) GetUser(ctx context.Context, req *User) (*User, error) {
gxlog.CInfo("req:%#v", req)
rsp := User{"A001", "Alex Stocks", 18, time.Now()}
gxlog.CInfo("rsp:%#v", rsp)
diff --git a/registry/nacos/go-server/conf/dubbogo.yml b/registry/nacos/go-server/conf/dubbogo.yml
index d485271..d674560 100644
--- a/registry/nacos/go-server/conf/dubbogo.yml
+++ b/registry/nacos/go-server/conf/dubbogo.yml
@@ -1,17 +1,33 @@
dubbo:
registries:
- "demoNacos":
- protocol: "nacos"
- timeout: "3s"
- address: "127.0.0.1:8848"
+ demoNacos:
+ protocol: nacos
+ timeout: 3s
+ address: 127.0.0.1:8848
protocols:
- "dubbo":
- name: "dubbo"
+ dubbo:
+ name: dubbo
port: 20000
+ # 在 params 中定义当前使用的协议特有的网络配置
+ # 如该 sample 配置的是 dubbo 协议(底层使用 getty 通信库)
+ params:
+ session-number: 700
+ session-timeout: 180s
+ compress-encoding: false
+ tcp-no-delay: true
+ tcp-keep-alive: true
+ keep-alive-period: 120s
+ tcp-r-buf-size: 262144
+ tcp-w-buf-size: 65536
+ tcp-read-timeout: 10s
+ tcp-write-timeout: 5s
+ wait-timeout: 1s
+ max-msg-len: 1024000
+ session-name: server
provider:
registry:
- demoNacos
services:
- "userProvider":
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
+ userProvider:
+ protocol: dubbo
+ interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index 0f6758d..2758e9c 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -95,6 +95,7 @@ array+=("config-api/rpc/triple")
array+=("registry/zookeeper")
array+=("rpc/dubbo3/codec-extension")
array+=("rpc/dubbo3/hessian2")
+array+=("registry/nacos")
for((i=0;i<${#array[*]};i++))
do
[dubbo-go-samples] 11/14: Ftr/direct samples (#216)
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit bfe39092d4617f64eb74edcbd5f3b759e8cc3c48
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Thu Sep 2 22:50:17 2021 +0800
Ftr/direct samples (#216)
* feat: add triple codec-extension samples of v3 conig
* fix: update client interface
* fix: add direct samples and ci test
* fix: delete unused merged file
* fix: add integrate test
---
.run/direct-go-client.run.xml | 7 +-
.run/direct-go-server.run.xml | 15 ----
.run/helloworld-go-client.run.xml | 14 ----
.run/triple-codec-extension-client.run.xml | 15 ----
.run/triple-codec-extension-server.run.xml | 15 ----
.run/{triple => }/triplego-hessian-server.run.xml | 0
api/generate.sh | 2 +-
configcenter/apollo/go-client/cmd/client.go | 4 +-
direct/go-client/cmd/client.go | 47 ++++-------
direct/go-client/conf/client.yml | 28 -------
direct/go-client/conf/dubbogo.yml | 7 ++
direct/go-client/conf/log.yml | 28 -------
direct/go-client/pkg/user.go | 42 ----------
direct/go-server/cmd/server.go | 59 ++++---------
direct/go-server/conf/client.yml | 61 --------------
direct/go-server/conf/dubbogo.yml | 10 +++
direct/go-server/conf/log.yml | 28 -------
direct/go-server/conf/server.yml | 54 ------------
direct/go-server/pkg/user.go | 62 --------------
direct/go-server/tests/integration/main_test.go | 71 ----------------
.../tests/integration/userprovider_test.go | 39 ---------
go.mod | 6 +-
go.sum | 7 ++
helloworld/go-client/cmd/client.go | 9 +-
helloworld/go-server/conf/dubbogo.yml | 12 +--
.../integration/configapi_rpc_triple_test.go} | 11 +--
.../rpc/triple/tests/integration/main_test.go | 40 +++++----
.../tests/integration/greeterProvider_test.go | 9 +-
.../apollo/tests/integration/main_test.go | 2 -
.../nacos/tests/integration/main_test.go | 8 +-
.../nacos/tests/integration/userprovider_test.go | 5 +-
.../direct}/docker/docker-compose.yml | 0
.../direct}/docker/docker-health-check.sh | 0
.../tests/integration/main_test.go | 2 -
.../tests/integration/userprovider_test.go | 3 -
.../helloworld/docker/docker-compose.yml~merged | 9 --
.../tests/integration/helloworld_test.go} | 5 +-
.../helloworld/tests/integration/main_test.go | 2 -
.../zookeeper/docker/docker-compose.yml~merged | 9 --
.../zookeeper/docker/docker-health-check.sh~merged | 10 ---
.../tests/integration/helloworld_test.go} | 3 -
.../zookeeper/tests/integration/main_test.go | 31 ++-----
.../tests/integration/userprovider_test.go | 39 ---------
.../codec-extension}/docker/docker-compose.yml | 0
.../codec-extension}/docker/docker-health-check.sh | 0
.../codec-extension}/tests/integration/codec.go | 0
.../tests/integration/main_test.go | 4 +-
.../tests/integration/userprovider_test.go | 7 +-
.../rpc/{ => dubbo3}/hessian2/conf/client.yml | 0
.../rpc/dubbo3/hessian2}/conf/log.yml | 0
.../rpc/{ => dubbo3}/hessian2/conf/server.yml | 0
.../rpc/dubbo3/hessian2}/docker/docker-compose.yml | 0
.../dubbo3/hessian2}/docker/docker-health-check.sh | 0
.../hessian2/tests/integration/main_test.go | 13 +--
.../tests/integration/userprovider_test.go | 5 +-
integrate_test/rpc/hessian2/conf/log.yml | 27 ------
.../rpc/hessian2/docker/docker-compose.yml~merged | 9 --
rpc/dubbo/go-client/cmd/client.go | 2 +-
rpc/dubbo/go-server/cmd/server.go | 2 +-
.../go-server/docker/docker-compose.yml~merged | 9 --
.../go-server/docker/docker-health-check.sh~merged | 10 ---
.../tests/integration/userprovider_test.go | 2 +-
.../codec-extension/{go-server => }/codec/codec.go | 0
rpc/dubbo3/codec-extension/go-client/cmd/client.go | 46 +++++-----
.../codec-extension/go-client/codec/codec.go | 28 -------
.../codec-extension/go-client/conf/client.yml | 33 --------
.../codec-extension/go-client/conf/dubbogo.yml | 12 +++
rpc/dubbo3/codec-extension/go-client/conf/log.yml | 27 ------
rpc/dubbo3/codec-extension/go-client/pkg/hello.go | 36 --------
rpc/dubbo3/codec-extension/go-server/cmd/server.go | 97 ++++++++--------------
.../codec-extension/go-server/conf/client.yml | 32 -------
.../codec-extension/go-server/conf/dubbogo.yml | 17 ++++
.../codec-extension/go-server/conf/server.yml | 30 -------
.../go-server/docker/docker-compose.yml~merged | 9 --
.../codec-extension/go-server/pkg/greeter.go | 46 ----------
.../hessian2/go-server/cmd/simple_service.go | 2 +-
rpc/dubbo3/msgpack/go-server/cmd/server.go | 6 +-
.../server/dubbogo-server/cmd/server.go | 2 +-
.../docker/docker-compose.yml~merged | 9 --
.../pb/dubbogo-grpc/server/grpcgo-server/main.go | 1 -
.../go-server/docker/docker-compose.yml~merged | 9 --
rpc/grpc/go-client/cmd/client.go | 3 +-
rpc/grpc/go-client/conf/log.yml~merged | 27 ------
rpc/grpc/go-server/conf/log.yml~merged | 27 ------
.../go-client/docker/docker-compose.yml~merged | 9 --
.../go-server/docker/docker-compose.yml~merged | 9 --
start_integrate_test.sh | 8 +-
tracing/grpc/go-server/app/helloworld.pb.go | 2 -
88 files changed, 217 insertions(+), 1230 deletions(-)
diff --git a/.run/direct-go-client.run.xml b/.run/direct-go-client.run.xml
index 3cde22b..b248033 100644
--- a/.run/direct-go-client.run.xml
+++ b/.run/direct-go-client.run.xml
@@ -1,15 +1,14 @@
<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="direct-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
+ <configuration default="false" name="direct-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="true">
<module name="dubbo-go-samples" />
<working_directory value="$PROJECT_DIR$" />
<envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/direct/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/direct/go-client/conf/client.yml" />
+ <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/direct/go-client/conf/dubbogo.yml" />
</envs>
<kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/direct/go-client/cmd/client.go" />
<package value="github.com/apache/dubbo-go-samples/direct/go-client/cmd" />
<directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/direct/go-client/cmd/client.go" />
<method v="2" />
</configuration>
</component>
\ No newline at end of file
diff --git a/.run/direct-go-server.run.xml b/.run/direct-go-server.run.xml
deleted file mode 100644
index 621cbd1..0000000
--- a/.run/direct-go-server.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="direct-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="false">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/direct/go-server/conf/server.yml" />
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/direct/go-server/conf/log.yml" />
- </envs>
- <kind value="PACKAGE" />
- <filePath value="$PROJECT_DIR$/direct/go-server/cmd/server.go" />
- <package value="github.com/apache/dubbo-go-samples/direct/go-server/cmd" />
- <directory value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/helloworld-go-client.run.xml b/.run/helloworld-go-client.run.xml
deleted file mode 100644
index 05170fc..0000000
--- a/.run/helloworld-go-client.run.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="helloworld-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="v3config-helloworld" singleton="true">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/helloworld/go-client/conf/dubbogo.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/helloworld/go-client/cmd" />
- <directory value="$PROJECT_DIR$" />
- <filePath value="$PROJECT_DIR$/helloworld/go-client/cmd/client.go" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/triple-codec-extension-client.run.xml b/.run/triple-codec-extension-client.run.xml
deleted file mode 100644
index ec0f339..0000000
--- a/.run/triple-codec-extension-client.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="triple-codec-extension-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="triple">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/codec-extension/go-client/conf/log.yml" />
- <env name="CONF_CONSUMER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/codec-extension/go-client/conf/client.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/codec-extension/go-client/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
- <filePath value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/triple-codec-extension-server.run.xml b/.run/triple-codec-extension-server.run.xml
deleted file mode 100644
index da9aa95..0000000
--- a/.run/triple-codec-extension-server.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="triple-codec-extension-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="triple">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/dubbo3/codec-extension/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/general/dubbo3/codec-extension/go-server/conf/server.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/rpc/dubbo3/codec-extension/go-server/cmd" />
- <directory value="github.com/apache/dubbo-go-samples/general/dubbo3/api/dubbogo-grpc/server/dubbogo-server/cmd" />
- <filePath value="$PROJECT_DIR$" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/triple/triplego-hessian-server.run.xml b/.run/triplego-hessian-server.run.xml
similarity index 100%
rename from .run/triple/triplego-hessian-server.run.xml
rename to .run/triplego-hessian-server.run.xml
diff --git a/api/generate.sh b/api/generate.sh
index d116f65..23c7b71 100644
--- a/api/generate.sh
+++ b/api/generate.sh
@@ -1,4 +1,4 @@
export GO111MODULE="on"
export GOPROXY="http://goproxy.io"
-go get -u github.com/apache/dubbo-go/protocol/dubbo3/protoc-gen-dubbo3@3.0
+go get -u github.com/dubbogo/tools/cmd/protoc-gen-dubbo3@3.0
protoc -I . samples_api.proto --dubbo3_out=plugins=grpc+dubbo:.
\ No newline at end of file
diff --git a/configcenter/apollo/go-client/cmd/client.go b/configcenter/apollo/go-client/cmd/client.go
index 68fe2c0..2c0c7ad 100644
--- a/configcenter/apollo/go-client/cmd/client.go
+++ b/configcenter/apollo/go-client/cmd/client.go
@@ -47,8 +47,8 @@ func main() {
req := &api.HelloRequest{
Name: "laurence",
}
- reply := &api.User{}
- if err := grpcGreeterImpl.SayHello(context.Background(), req, reply); err != nil {
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
+ if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
diff --git a/direct/go-client/cmd/client.go b/direct/go-client/cmd/client.go
index dd4c3f4..59596d6 100644
--- a/direct/go-client/cmd/client.go
+++ b/direct/go-client/cmd/client.go
@@ -19,51 +19,36 @@ package main
import (
"context"
- "os"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/direct/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(pkg.UserProvider)
-
-func init() {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
-}
+var grpcGreeterImpl = new(api.GreeterClientImpl)
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-// in order to make sure direct-invoking is enabled, check if references -> UserProvider -> url is specified
-// in conf/client.yaml
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
+ config.SetConsumerService(grpcGreeterImpl)
+ if err := config.Load(); err != nil {
+ panic(err)
+ }
time.Sleep(3 * time.Second)
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
+ logger.Error(err)
}
- gxlog.CInfo("response result: %v\n", user)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/direct/go-client/conf/client.yml b/direct/go-client/conf/client.yml
deleted file mode 100644
index 97863f5..0000000
--- a/direct/go-client/conf/client.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-# dubbo client yaml configure file
-
-check: false
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoClient"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- # this is necessary to enable direct-invoking.
- url: "dubbo://127.0.0.1:20000"
- methods:
- - name: "GetUser"
- retries: 3
\ No newline at end of file
diff --git a/direct/go-client/conf/dubbogo.yml b/direct/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..e4c8bb9
--- /dev/null
+++ b/direct/go-client/conf/dubbogo.yml
@@ -0,0 +1,7 @@
+dubbo:
+ consumer:
+ references:
+ greeterImpl:
+ url: tri://localhost:20000
+ protocol: tri
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/direct/go-client/conf/log.yml b/direct/go-client/conf/log.yml
deleted file mode 100644
index d0400fe..0000000
--- a/direct/go-client/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/direct/go-client/pkg/user.go b/direct/go-client/pkg/user.go
deleted file mode 100644
index 7733ea4..0000000
--- a/direct/go-client/pkg/user.go
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/direct/go-server/cmd/server.go b/direct/go-server/cmd/server.go
index c8c4c22..1514240 100644
--- a/direct/go-server/cmd/server.go
+++ b/direct/go-server/cmd/server.go
@@ -18,62 +18,33 @@
package main
import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
+ "context"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- "github.com/apache/dubbo-go-samples/direct/go-server/pkg"
-)
-
-var (
- survivalTimeout = int(3e9)
+ "github.com/apache/dubbo-go-samples/api"
)
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-func main() {
- hessian.RegisterPOJO(&pkg.User{})
- config.Load()
-
- initSignal()
+type GreeterProvider struct {
+ api.GreeterProviderBase
}
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
+}
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-server/conf/dubbogo.yml
+func main() {
+ config.SetProviderService(&GreeterProvider{})
+ if err := config.Load(); err != nil {
+ panic(err)
}
+ select {}
}
diff --git a/direct/go-server/conf/client.yml b/direct/go-server/conf/client.yml
deleted file mode 100644
index 8823490..0000000
--- a/direct/go-server/conf/client.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout : "3s"
-# connect timeout
-connect_timeout : "3s"
-
-# application config
-application:
- organization : "dubbo.io"
- name : "UserConsumerTest"
- module : "dubbo-go user-info client"
- version : "0.0.1"
- environment : "dev"
-
-# registry config
-registries :
- "demoZk":
- protocol: "zookeeper"
- timeout : "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol : "dubbo"
- interface : "org.apache.dubbo.UserProvider"
- cluster: "failover"
- # this is necessary to enable direct-invoking.
- url: "dubbo://127.0.0.1:20000"
- methods :
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/direct/go-server/conf/dubbogo.yml b/direct/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..f6551a9
--- /dev/null
+++ b/direct/go-server/conf/dubbogo.yml
@@ -0,0 +1,10 @@
+dubbo:
+ protocols:
+ triple:
+ name: tri
+ port: 20000
+ provider:
+ services:
+ greeterImpl:
+ protocol: triple
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/direct/go-server/conf/log.yml b/direct/go-server/conf/log.yml
deleted file mode 100644
index a75bccb..0000000
--- a/direct/go-server/conf/log.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/direct/go-server/conf/server.yml b/direct/go-server/conf/server.yml
deleted file mode 100644
index 13b7f74..0000000
--- a/direct/go-server/conf/server.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-# dubbo server yaml configure file
-# application config
-application:
- organization : "dubbo.io"
- name : "UserInfoServer"
- module : "dubbo-go user-info server"
- version : "0.0.1"
- environment : "dev"
-
-# registry config
-registries :
- "demoZk":
- protocol: "zookeeper"
- timeout : "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol : "dubbo"
- interface : "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
diff --git a/direct/go-server/pkg/user.go b/direct/go-server/pkg/user.go
deleted file mode 100644
index 75d0916..0000000
--- a/direct/go-server/pkg/user.go
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
- "time"
-)
-
-import (
- "dubbo.apache.org/dubbo-go/v3/config"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-
- "github.com/dubbogo/gost/log"
-)
-
-func init() {
- config.SetProviderService(new(UserProvider))
- // ------for hessian2------
- hessian.RegisterPOJO(&User{})
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
- gxlog.CInfo("req:%#v", req)
- rsp := User{"A001", "Alex Stocks", 18, time.Now()}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/direct/go-server/tests/integration/main_test.go b/direct/go-server/tests/integration/main_test.go
deleted file mode 100644
index d028c55..0000000
--- a/direct/go-server/tests/integration/main_test.go
+++ /dev/null
@@ -1,71 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "os"
- "testing"
- "time"
-)
-
-import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
- "dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-var userProvider = new(UserProvider)
-
-func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
- config.Load()
- time.Sleep(3 * time.Second)
-
- os.Exit(m.Run())
-}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/direct/go-server/tests/integration/userprovider_test.go b/direct/go-server/tests/integration/userprovider_test.go
deleted file mode 100644
index 7183e64..0000000
--- a/direct/go-server/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "testing"
-)
-
-import (
- "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- assert.Nil(t, err)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
-}
diff --git a/go.mod b/go.mod
index d9d33bc..19e3050 100644
--- a/go.mod
+++ b/go.mod
@@ -1,7 +1,7 @@
module github.com/apache/dubbo-go-samples
require (
- dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b
+ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210901104537-ddabb2e957aa
github.com/alibaba/sentinel-golang v1.0.2
github.com/apache/dubbo-getty v1.4.5
github.com/apache/dubbo-go-hessian2 v1.9.2
@@ -28,8 +28,6 @@ require (
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a // indirect
)
-replace (
- github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
-)
+replace github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
go 1.13
diff --git a/go.sum b/go.sum
index a608633..df43e51 100644
--- a/go.sum
+++ b/go.sum
@@ -17,6 +17,10 @@ dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e h1:TnZXDmo
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210822082425-1bfface3303e/go.mod h1:quHg7AMGZichyo/h2msHsjregY4oL0lEJlljPbpwgs0=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b h1:swahNLXhkWgQtnkgafdaHPaEWcC51PvEalPY+ovZ6JQ=
dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210826094458-8ef173e7a77b/go.mod h1:truc+fGVX3f/luIG6lAc8D49JXETiRtWDF5CVkG7ZMY=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210901104537-ddabb2e957aa h1:xpWQD2HMHsDT9GqLQ6UzNz3rmI/eWa67/wbSbU3K3/k=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210901104537-ddabb2e957aa/go.mod h1:truc+fGVX3f/luIG6lAc8D49JXETiRtWDF5CVkG7ZMY=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210902110215-82e825c9c36a h1:MQe72C0+cCE3ra6Bk/MtmK3PTrNhNWvnopcOsTW7dP4=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210902110215-82e825c9c36a/go.mod h1:truc+fGVX3f/luIG6lAc8D49JXETiRtWDF5CVkG7ZMY=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
@@ -595,6 +599,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA=
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
@@ -703,6 +708,7 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
@@ -1091,6 +1097,7 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk=
diff --git a/helloworld/go-client/cmd/client.go b/helloworld/go-client/cmd/client.go
index 2c0c7ad..59596d6 100644
--- a/helloworld/go-client/cmd/client.go
+++ b/helloworld/go-client/cmd/client.go
@@ -34,13 +34,12 @@ import (
var grpcGreeterImpl = new(api.GreeterClientImpl)
-func init() {
- config.SetConsumerService(grpcGreeterImpl)
-}
-
// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
func main() {
- config.Load()
+ config.SetConsumerService(grpcGreeterImpl)
+ if err := config.Load(); err != nil {
+ panic(err)
+ }
time.Sleep(3 * time.Second)
logger.Info("start to test dubbo")
diff --git a/helloworld/go-server/conf/dubbogo.yml b/helloworld/go-server/conf/dubbogo.yml
index 5e9cfb4..aca4f05 100644
--- a/helloworld/go-server/conf/dubbogo.yml
+++ b/helloworld/go-server/conf/dubbogo.yml
@@ -1,17 +1,17 @@
dubbo:
registries:
"demoZK":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
+ protocol: zookeeper
+ timeout: 3s
+ address: 127.0.0.1:2181
protocols:
"triple":
- name: "tri"
+ name: tri
port: 20000
provider:
registry:
- demoZK
services:
"greeterImpl":
- protocol: "triple"
- interface: "com.apache.dubbo.sample.basic.IGreeter" # must be compatible with grpc or dubbo-java
\ No newline at end of file
+ protocol: triple
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/integrate_test/helloworld/tests/integration/userprovider_test.go b/integrate_test/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
similarity index 85%
copy from integrate_test/helloworld/tests/integration/userprovider_test.go
copy to integrate_test/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
index 1daa809..bae2374 100644
--- a/integrate_test/helloworld/tests/integration/userprovider_test.go
+++ b/integrate_test/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -23,25 +21,20 @@ import (
"context"
"testing"
)
-
import (
"github.com/stretchr/testify/assert"
)
import (
- dubbo3pb "github.com/apache/dubbo-go-samples/api"
+ "github.com/apache/dubbo-go-samples/api"
)
func TestSayHello(t *testing.T) {
- req := &dubbo3pb.HelloRequest{
+ req := &api.HelloRequest{
Name: "laurence",
}
- reply := &dubbo3pb.User{}
-
ctx := context.Background()
- ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
-
reply, err := greeterProvider.SayHello(ctx, req)
assert.Nil(t, err)
diff --git a/integrate_test/config-api/rpc/triple/tests/integration/main_test.go b/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
index d8a0568..5706621 100644
--- a/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
+++ b/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -22,31 +20,43 @@ package integration
import (
"os"
"testing"
- "time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/metadata/service/local"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- dubbo3pb "github.com/apache/dubbo-go-samples/api"
+ "github.com/apache/dubbo-go-samples/api"
)
-var greeterProvider = new(dubbo3pb.GreeterClientImpl)
+var greeterProvider = new(api.GreeterClientImpl)
func TestMain(m *testing.M) {
config.SetConsumerService(greeterProvider)
- config.Load()
- time.Sleep(3 * time.Second)
+
+ referenceConfig := config.NewReferenceConfig(
+ config.WithReferenceInterface("com.apache.dubbo.sample.basic.IGreeter"),
+ config.WithReferenceProtocolName("tri"),
+ config.WithReferenceRegistry("zkRegistryKey"),
+ )
+
+ consumerConfig := config.NewConsumerConfig(
+ config.WithConsumerReferenceConfig("greeterImpl", referenceConfig),
+ )
+
+ registryConfig := config.NewRegistryConfigWithProtocolDefaultPort("zookeeper")
+
+ rootConfig := config.NewRootConfig(
+ config.WithRootRegistryConfig("zkRegistryKey", registryConfig),
+ config.WithRootConsumerConfig(consumerConfig),
+ )
+
+ if err := rootConfig.Init(); err != nil {
+ panic(err)
+ }
os.Exit(m.Run())
+
}
diff --git a/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go b/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
index 992c55d..2d177f5 100644
--- a/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
+++ b/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -37,12 +35,7 @@ func TestSayHello(t *testing.T) {
Name: "laurence",
}
- reply := &dubbo3pb.User{}
-
- ctx := context.Background()
- ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
-
- err := greeterProvider.SayHello(ctx, req, reply)
+ reply, err := greeterProvider.SayHello(context.Background(), req)
assert.Nil(t, err)
assert.Equal(t, "Hello laurence", reply.Name)
diff --git a/integrate_test/configcenter/apollo/tests/integration/main_test.go b/integrate_test/configcenter/apollo/tests/integration/main_test.go
index d8a0568..07978d7 100644
--- a/integrate_test/configcenter/apollo/tests/integration/main_test.go
+++ b/integrate_test/configcenter/apollo/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
diff --git a/integrate_test/configcenter/nacos/tests/integration/main_test.go b/integrate_test/configcenter/nacos/tests/integration/main_test.go
index c2862bd..9eb9c0c 100644
--- a/integrate_test/configcenter/nacos/tests/integration/main_test.go
+++ b/integrate_test/configcenter/nacos/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -60,11 +58,7 @@ type User struct {
}
type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
+ GetUser func(ctx context.Context, req *User) (*User, error)
}
func (User) JavaClassName() string {
diff --git a/integrate_test/configcenter/nacos/tests/integration/userprovider_test.go b/integrate_test/configcenter/nacos/tests/integration/userprovider_test.go
index 7183e64..fbb9061 100644
--- a/integrate_test/configcenter/nacos/tests/integration/userprovider_test.go
+++ b/integrate_test/configcenter/nacos/tests/integration/userprovider_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -29,8 +27,7 @@ import (
)
func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{ID: "A001"})
assert.Nil(t, err)
assert.Equal(t, "A001", user.ID)
assert.Equal(t, "Alex Stocks", user.Name)
diff --git a/rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml b/integrate_test/direct/docker/docker-compose.yml
similarity index 100%
rename from rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml
rename to integrate_test/direct/docker/docker-compose.yml
diff --git a/rpc/dubbo3/codec-extension/go-server/docker/docker-health-check.sh b/integrate_test/direct/docker/docker-health-check.sh
similarity index 100%
rename from rpc/dubbo3/codec-extension/go-server/docker/docker-health-check.sh
rename to integrate_test/direct/docker/docker-health-check.sh
diff --git a/integrate_test/config-api/rpc/triple/tests/integration/main_test.go b/integrate_test/direct/tests/integration/main_test.go
similarity index 98%
copy from integrate_test/config-api/rpc/triple/tests/integration/main_test.go
copy to integrate_test/direct/tests/integration/main_test.go
index d8a0568..07978d7 100644
--- a/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
+++ b/integrate_test/direct/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
diff --git a/integrate_test/helloworld/tests/integration/userprovider_test.go b/integrate_test/direct/tests/integration/userprovider_test.go
similarity index 93%
copy from integrate_test/helloworld/tests/integration/userprovider_test.go
copy to integrate_test/direct/tests/integration/userprovider_test.go
index 1daa809..971a8a8 100644
--- a/integrate_test/helloworld/tests/integration/userprovider_test.go
+++ b/integrate_test/direct/tests/integration/userprovider_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -40,7 +38,6 @@ func TestSayHello(t *testing.T) {
reply := &dubbo3pb.User{}
ctx := context.Background()
- ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
reply, err := greeterProvider.SayHello(ctx, req)
diff --git a/integrate_test/helloworld/docker/docker-compose.yml~merged b/integrate_test/helloworld/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/integrate_test/helloworld/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/integrate_test/config-api/rpc/triple/tests/integration/userprovider_test.go b/integrate_test/helloworld/tests/integration/helloworld_test.go
similarity index 90%
rename from integrate_test/config-api/rpc/triple/tests/integration/userprovider_test.go
rename to integrate_test/helloworld/tests/integration/helloworld_test.go
index 992c55d..971a8a8 100644
--- a/integrate_test/config-api/rpc/triple/tests/integration/userprovider_test.go
+++ b/integrate_test/helloworld/tests/integration/helloworld_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -40,9 +38,8 @@ func TestSayHello(t *testing.T) {
reply := &dubbo3pb.User{}
ctx := context.Background()
- ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
- err := greeterProvider.SayHello(ctx, req, reply)
+ reply, err := greeterProvider.SayHello(ctx, req)
assert.Nil(t, err)
assert.Equal(t, "Hello laurence", reply.Name)
diff --git a/integrate_test/helloworld/tests/integration/main_test.go b/integrate_test/helloworld/tests/integration/main_test.go
index d8a0568..07978d7 100644
--- a/integrate_test/helloworld/tests/integration/main_test.go
+++ b/integrate_test/helloworld/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
diff --git a/integrate_test/registry/zookeeper/docker/docker-compose.yml~merged b/integrate_test/registry/zookeeper/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/integrate_test/registry/zookeeper/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/integrate_test/registry/zookeeper/docker/docker-health-check.sh~merged b/integrate_test/registry/zookeeper/docker/docker-health-check.sh~merged
deleted file mode 100644
index 2cc32c2..0000000
--- a/integrate_test/registry/zookeeper/docker/docker-health-check.sh~merged
+++ /dev/null
@@ -1,10 +0,0 @@
-curl 127.0.0.1:2181
-res=$?
-passCode=52
-while [ "$res" != "$passCode" ];do
- sleep 5
- curl 127.0.0.1:2181
- res=$?
-done
-
-sleep 5
diff --git a/integrate_test/helloworld/tests/integration/userprovider_test.go b/integrate_test/registry/zookeeper/tests/integration/helloworld_test.go
similarity index 93%
rename from integrate_test/helloworld/tests/integration/userprovider_test.go
rename to integrate_test/registry/zookeeper/tests/integration/helloworld_test.go
index 1daa809..971a8a8 100644
--- a/integrate_test/helloworld/tests/integration/userprovider_test.go
+++ b/integrate_test/registry/zookeeper/tests/integration/helloworld_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -40,7 +38,6 @@ func TestSayHello(t *testing.T) {
reply := &dubbo3pb.User{}
ctx := context.Background()
- ctx = context.WithValue(ctx, "tri-req-id", "test_value_XXXXXXXX")
reply, err := greeterProvider.SayHello(ctx, req)
diff --git a/integrate_test/registry/zookeeper/tests/integration/main_test.go b/integrate_test/registry/zookeeper/tests/integration/main_test.go
index d028c55..07978d7 100644
--- a/integrate_test/registry/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/registry/zookeeper/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -20,7 +18,6 @@
package integration
import (
- "context"
"os"
"testing"
"time"
@@ -36,36 +33,18 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
+)
- hessian "github.com/apache/dubbo-go-hessian2"
+import (
+ dubbo3pb "github.com/apache/dubbo-go-samples/api"
)
-var userProvider = new(UserProvider)
+var greeterProvider = new(dubbo3pb.GreeterClientImpl)
func TestMain(m *testing.M) {
- config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&User{})
+ config.SetConsumerService(greeterProvider)
config.Load()
time.Sleep(3 * time.Second)
os.Exit(m.Run())
}
-
-type User struct {
- ID string
- Name string
- Age int32
- Time time.Time
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
-
-func (User) JavaClassName() string {
- return "org.apache.dubbo.User"
-}
diff --git a/integrate_test/registry/zookeeper/tests/integration/userprovider_test.go b/integrate_test/registry/zookeeper/tests/integration/userprovider_test.go
deleted file mode 100644
index 7183e64..0000000
--- a/integrate_test/registry/zookeeper/tests/integration/userprovider_test.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// +build integration
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package integration
-
-import (
- "context"
- "testing"
-)
-
-import (
- "github.com/stretchr/testify/assert"
-)
-
-func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
- assert.Nil(t, err)
- assert.Equal(t, "A001", user.ID)
- assert.Equal(t, "Alex Stocks", user.Name)
- assert.Equal(t, int32(18), user.Age)
- assert.NotNil(t, user.Time)
-}
diff --git a/integrate_test/rpc/hessian2/docker/docker-compose.yml b/integrate_test/rpc/dubbo3/codec-extension/docker/docker-compose.yml
similarity index 100%
rename from integrate_test/rpc/hessian2/docker/docker-compose.yml
rename to integrate_test/rpc/dubbo3/codec-extension/docker/docker-compose.yml
diff --git a/integrate_test/rpc/hessian2/docker/docker-health-check.sh b/integrate_test/rpc/dubbo3/codec-extension/docker/docker-health-check.sh
similarity index 100%
rename from integrate_test/rpc/hessian2/docker/docker-health-check.sh
rename to integrate_test/rpc/dubbo3/codec-extension/docker/docker-health-check.sh
diff --git a/rpc/dubbo3/codec-extension/go-server/tests/integration/codec.go b/integrate_test/rpc/dubbo3/codec-extension/tests/integration/codec.go
similarity index 100%
rename from rpc/dubbo3/codec-extension/go-server/tests/integration/codec.go
rename to integrate_test/rpc/dubbo3/codec-extension/tests/integration/codec.go
diff --git a/rpc/dubbo3/codec-extension/go-server/tests/integration/main_test.go b/integrate_test/rpc/dubbo3/codec-extension/tests/integration/main_test.go
similarity index 95%
rename from rpc/dubbo3/codec-extension/go-server/tests/integration/main_test.go
rename to integrate_test/rpc/dubbo3/codec-extension/tests/integration/main_test.go
index d7edc46..a4d4bc8 100644
--- a/rpc/dubbo3/codec-extension/go-server/tests/integration/main_test.go
+++ b/integrate_test/rpc/dubbo3/codec-extension/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -54,7 +52,7 @@ type User struct {
}
type UserProvider struct {
- GetUser func(ctx context.Context, req *User, rsp *User) error
+ GetUser func(ctx context.Context, req *User, req2 *User, name string) (*User, error)
}
func (u *UserProvider) Reference() string {
diff --git a/integrate_test/rpc/hessian2/tests/integration/userprovider_test.go b/integrate_test/rpc/dubbo3/codec-extension/tests/integration/userprovider_test.go
similarity index 86%
rename from integrate_test/rpc/hessian2/tests/integration/userprovider_test.go
rename to integrate_test/rpc/dubbo3/codec-extension/tests/integration/userprovider_test.go
index 639e911..6ebc619 100644
--- a/integrate_test/rpc/hessian2/tests/integration/userprovider_test.go
+++ b/integrate_test/rpc/dubbo3/codec-extension/tests/integration/userprovider_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -29,10 +27,9 @@ import (
)
func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"}, &User{Name: "laurence2"}, "myname")
assert.Nil(t, err)
assert.Equal(t, "12345", user.ID)
- assert.Equal(t, "laurence", user.Name)
+ assert.Equal(t, "laurencelaurence2", user.Name)
assert.Equal(t, int32(18), user.Age)
}
diff --git a/integrate_test/rpc/hessian2/conf/client.yml b/integrate_test/rpc/dubbo3/hessian2/conf/client.yml
similarity index 100%
rename from integrate_test/rpc/hessian2/conf/client.yml
rename to integrate_test/rpc/dubbo3/hessian2/conf/client.yml
diff --git a/rpc/dubbo3/codec-extension/go-server/conf/log.yml b/integrate_test/rpc/dubbo3/hessian2/conf/log.yml
similarity index 100%
rename from rpc/dubbo3/codec-extension/go-server/conf/log.yml
rename to integrate_test/rpc/dubbo3/hessian2/conf/log.yml
diff --git a/integrate_test/rpc/hessian2/conf/server.yml b/integrate_test/rpc/dubbo3/hessian2/conf/server.yml
similarity index 100%
rename from integrate_test/rpc/hessian2/conf/server.yml
rename to integrate_test/rpc/dubbo3/hessian2/conf/server.yml
diff --git a/direct/go-server/docker/docker-compose.yml b/integrate_test/rpc/dubbo3/hessian2/docker/docker-compose.yml
similarity index 100%
rename from direct/go-server/docker/docker-compose.yml
rename to integrate_test/rpc/dubbo3/hessian2/docker/docker-compose.yml
diff --git a/direct/go-server/docker/docker-health-check.sh b/integrate_test/rpc/dubbo3/hessian2/docker/docker-health-check.sh
similarity index 100%
rename from direct/go-server/docker/docker-health-check.sh
rename to integrate_test/rpc/dubbo3/hessian2/docker/docker-health-check.sh
diff --git a/integrate_test/rpc/hessian2/tests/integration/main_test.go b/integrate_test/rpc/dubbo3/hessian2/tests/integration/main_test.go
similarity index 88%
rename from integrate_test/rpc/hessian2/tests/integration/main_test.go
rename to integrate_test/rpc/dubbo3/hessian2/tests/integration/main_test.go
index 2b781ca..3d662e2 100644
--- a/integrate_test/rpc/hessian2/tests/integration/main_test.go
+++ b/integrate_test/rpc/dubbo3/hessian2/tests/integration/main_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -47,7 +45,6 @@ func TestMain(m *testing.M) {
hessian.RegisterPOJO(&User{})
config.Load()
time.Sleep(3 * time.Second)
-
os.Exit(m.Run())
}
@@ -58,13 +55,9 @@ type User struct {
}
type UserProvider struct {
- GetUser func(ctx context.Context, usr *User, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
+ GetUser func(ctx context.Context, usr *User) (*User, error)
}
-func (u User) JavaClassName() string {
- return "org.apache.dubbo.User"
+func (u *User) JavaClassName() string {
+ return "com.apache.dubbo.sample.basic.User"
}
diff --git a/rpc/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go b/integrate_test/rpc/dubbo3/hessian2/tests/integration/userprovider_test.go
similarity index 90%
rename from rpc/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go
rename to integrate_test/rpc/dubbo3/hessian2/tests/integration/userprovider_test.go
index 7a08d19..ee3607f 100644
--- a/rpc/dubbo3/codec-extension/go-server/tests/integration/userprovider_test.go
+++ b/integrate_test/rpc/dubbo3/hessian2/tests/integration/userprovider_test.go
@@ -1,5 +1,3 @@
-// +build integration
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -29,8 +27,7 @@ import (
)
func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"})
assert.Nil(t, err)
assert.Equal(t, "12345", user.ID)
assert.Equal(t, "Hello laurence", user.Name)
diff --git a/integrate_test/rpc/hessian2/conf/log.yml b/integrate_test/rpc/hessian2/conf/log.yml
deleted file mode 100644
index 8c3f700..0000000
--- a/integrate_test/rpc/hessian2/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "info"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/integrate_test/rpc/hessian2/docker/docker-compose.yml~merged b/integrate_test/rpc/hessian2/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/integrate_test/rpc/hessian2/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/dubbo/go-client/cmd/client.go b/rpc/dubbo/go-client/cmd/client.go
index 5cdcdf8..dcd1939 100644
--- a/rpc/dubbo/go-client/cmd/client.go
+++ b/rpc/dubbo/go-client/cmd/client.go
@@ -38,7 +38,7 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/general/dubbo/go-client/pkg"
+ "github.com/apache/dubbo-go-samples/rpc/dubbo/go-client/pkg"
)
var (
diff --git a/rpc/dubbo/go-server/cmd/server.go b/rpc/dubbo/go-server/cmd/server.go
index 32a7a0e..fc74d81 100644
--- a/rpc/dubbo/go-server/cmd/server.go
+++ b/rpc/dubbo/go-server/cmd/server.go
@@ -41,7 +41,7 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/general/dubbo/go-server/pkg"
+ "github.com/apache/dubbo-go-samples/rpc/dubbo/go-server/pkg"
)
var (
diff --git a/rpc/dubbo/go-server/docker/docker-compose.yml~merged b/rpc/dubbo/go-server/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/dubbo/go-server/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/dubbo/go-server/docker/docker-health-check.sh~merged b/rpc/dubbo/go-server/docker/docker-health-check.sh~merged
deleted file mode 100644
index 2cc32c2..0000000
--- a/rpc/dubbo/go-server/docker/docker-health-check.sh~merged
+++ /dev/null
@@ -1,10 +0,0 @@
-curl 127.0.0.1:2181
-res=$?
-passCode=52
-while [ "$res" != "$passCode" ];do
- sleep 5
- curl 127.0.0.1:2181
- res=$?
-done
-
-sleep 5
diff --git a/rpc/dubbo/go-server/tests/integration/userprovider_test.go b/rpc/dubbo/go-server/tests/integration/userprovider_test.go
index 988e1cd..3fe5d8d 100644
--- a/rpc/dubbo/go-server/tests/integration/userprovider_test.go
+++ b/rpc/dubbo/go-server/tests/integration/userprovider_test.go
@@ -31,7 +31,7 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/general/dubbo/go-server/pkg"
+ "github.com/apache/dubbo-go-samples/rpc/dubbo/go-server/pkg"
)
func TestGetUserA000(t *testing.T) {
diff --git a/rpc/dubbo3/codec-extension/go-server/codec/codec.go b/rpc/dubbo3/codec-extension/codec/codec.go
similarity index 100%
rename from rpc/dubbo3/codec-extension/go-server/codec/codec.go
rename to rpc/dubbo3/codec-extension/codec/codec.go
diff --git a/rpc/dubbo3/codec-extension/go-client/cmd/client.go b/rpc/dubbo3/codec-extension/go-client/cmd/client.go
index 9090ea5..087b7a5 100644
--- a/rpc/dubbo3/codec-extension/go-client/cmd/client.go
+++ b/rpc/dubbo3/codec-extension/go-client/cmd/client.go
@@ -19,47 +19,41 @@ package main
import (
"context"
- "os"
"time"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
+ "dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/grpc"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- "github.com/dubbogo/gost/log"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- _ "github.com/apache/dubbo-go-samples/general/dubbo3/codec-extension/go-client/codec"
- "github.com/apache/dubbo-go-samples/general/dubbo3/codec-extension/go-client/pkg"
+ _ "github.com/apache/dubbo-go-samples/rpc/dubbo3/codec-extension/codec"
)
-var userProvider = new(pkg.UserProvider)
+type User struct {
+ ID string
+ Name string
+ Age int32
+}
-func init() {
- config.SetConsumerService(userProvider)
+type UserProvider struct {
+ GetUser func(context.Context, *User, *User, string) (*User, error)
}
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
+var userProvider = new(UserProvider)
+
+// export DUBBO_GO_CONFIG_PATH=PATH_TO_SAMPLES/rpc/dubbo3/codec-extension/go-client/conf/dubbogo.yml
func main() {
- config.Load()
+ config.SetConsumerService(userProvider)
+ if err := config.Load(); err != nil {
+ panic(err)
+ }
time.Sleep(3 * time.Second)
-
- gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &pkg.User{}
- err := userProvider.GetUser(context.TODO(), &pkg.User{Name: "laurence"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"}, &User{Name: "laurence2"}, "testName")
if err != nil {
- gxlog.CError("error: %v\n", err)
- os.Exit(1)
- return
+ panic(err)
}
- gxlog.CInfo("response result: %v\n", user)
+ logger.Infof("response result: %v\n", user)
}
diff --git a/rpc/dubbo3/codec-extension/go-client/codec/codec.go b/rpc/dubbo3/codec-extension/go-client/codec/codec.go
deleted file mode 100644
index 68805e9..0000000
--- a/rpc/dubbo3/codec-extension/go-client/codec/codec.go
+++ /dev/null
@@ -1,28 +0,0 @@
-package codec
-
-import (
- "encoding/json"
-)
-
-import (
- triCommon "github.com/dubbogo/triple/pkg/common"
-)
-
-func init() {
- triCommon.SetTripleCodec("json", NewJSONCodec)
-}
-
-func NewJSONCodec() triCommon.Codec {
- return &JSONCodec{}
-}
-
-type JSONCodec struct {
-}
-
-func (j *JSONCodec) Marshal(v interface{}) ([]byte, error) {
- return json.Marshal(v)
-}
-
-func (j *JSONCodec) Unmarshal(data []byte, v interface{}) error {
- return json.Unmarshal(data, v)
-}
diff --git a/rpc/dubbo3/codec-extension/go-client/conf/client.yml b/rpc/dubbo3/codec-extension/go-client/conf/client.yml
deleted file mode 100644
index d4c14a2..0000000
--- a/rpc/dubbo3/codec-extension/go-client/conf/client.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "tri"
- serialization: "json"
-# url: "dubbo://127.0.0.1:20000" # target server ip:port
- interface: "com.apache.dubbo.sample.basic.IGreeter"
diff --git a/rpc/dubbo3/codec-extension/go-client/conf/dubbogo.yml b/rpc/dubbo3/codec-extension/go-client/conf/dubbogo.yml
new file mode 100644
index 0000000..5aaef86
--- /dev/null
+++ b/rpc/dubbo3/codec-extension/go-client/conf/dubbogo.yml
@@ -0,0 +1,12 @@
+dubbo:
+ registries:
+ registryKey:
+ protocol: zookeeper
+ address: 127.0.0.1:2181
+ consumer:
+ registry:
+ - registryKey
+ references:
+ UserProvider:
+ protocol: tri
+ interface: com.apache.dubbogo.samples.rpc.extension.UserProvider # must be compatible with grpc or dubbo-java server
\ No newline at end of file
diff --git a/rpc/dubbo3/codec-extension/go-client/conf/log.yml b/rpc/dubbo3/codec-extension/go-client/conf/log.yml
deleted file mode 100644
index 8c3f700..0000000
--- a/rpc/dubbo3/codec-extension/go-client/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "info"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/rpc/dubbo3/codec-extension/go-client/pkg/hello.go b/rpc/dubbo3/codec-extension/go-client/pkg/hello.go
deleted file mode 100644
index da5c377..0000000
--- a/rpc/dubbo3/codec-extension/go-client/pkg/hello.go
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
-}
-
-type UserProvider struct {
- GetUser func(ctx context.Context, req *User, rsp *User) error
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
diff --git a/rpc/dubbo3/codec-extension/go-server/cmd/server.go b/rpc/dubbo3/codec-extension/go-server/cmd/server.go
index 27d439d..0555c45 100644
--- a/rpc/dubbo3/codec-extension/go-server/cmd/server.go
+++ b/rpc/dubbo3/codec-extension/go-server/cmd/server.go
@@ -1,84 +1,59 @@
/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
package main
import (
- "fmt"
- "os"
- "os/signal"
- "syscall"
- "time"
+ "context"
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
- _ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- _ "github.com/dubbogo/triple/pkg/triple"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
)
import (
- _ "github.com/apache/dubbo-go-samples/general/dubbo3/codec-extension/go-client/codec"
- "github.com/apache/dubbo-go-samples/general/dubbo3/codec-extension/go-server/pkg"
-)
-
-var (
- survivalTimeout = int(3 * time.Second)
+ _ "github.com/apache/dubbo-go-samples/rpc/dubbo3/codec-extension/codec"
)
-func init() {
- config.SetProviderService(new(pkg.UserProvider))
+type User struct {
+ ID string
+ Name string
+ Age int32
}
-// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
-func main() {
- config.Load()
- initSignal()
+type UserProvider struct {
}
-func initSignal() {
- signals := make(chan os.Signal, 1)
- // It is not possible to block SIGKILL or syscall.SIGSTOP
- signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT)
- for {
- sig := <-signals
- logger.Infof("get signal %s", sig.String())
- switch sig {
- case syscall.SIGHUP:
- // reload()
- default:
- time.Sleep(time.Second * 5)
- time.AfterFunc(time.Duration(survivalTimeout), func() {
- logger.Warnf("app exit now by force...")
- os.Exit(1)
- })
+func (u *UserProvider) GetUser(ctx context.Context, req *User, req2 *User, name string) (*User, error) {
+ logger.Infof("req:%#v", req)
+ logger.Infof("req2:%#v", req2)
+ logger.Infof("name%#v", name)
+ rsp := User{"12345", req.Name + req2.Name, 18}
+ logger.Infof("rsp:%#v", rsp)
+ return &rsp, nil
+}
- // The program exits normally or timeout forcibly exits.
- fmt.Println("provider app exit now...")
- return
- }
+// export DUBBO_GO_CONFIG_PATH=PATH_TO_SAMPLES/rpc/dubbo3/codec-extension/go-server/conf/dubbogo.yml
+func main() {
+ config.SetProviderService(&UserProvider{})
+ if err := config.Load(); err != nil {
+ panic(err)
}
+ select {}
}
diff --git a/rpc/dubbo3/codec-extension/go-server/conf/client.yml b/rpc/dubbo3/codec-extension/go-server/conf/client.yml
deleted file mode 100644
index 137d8b2..0000000
--- a/rpc/dubbo3/codec-extension/go-server/conf/client.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "tri"
- serialization: "json"
- interface: "com.apache.dubbo.sample.basic.IGreeter"
diff --git a/rpc/dubbo3/codec-extension/go-server/conf/dubbogo.yml b/rpc/dubbo3/codec-extension/go-server/conf/dubbogo.yml
new file mode 100644
index 0000000..77d7c97
--- /dev/null
+++ b/rpc/dubbo3/codec-extension/go-server/conf/dubbogo.yml
@@ -0,0 +1,17 @@
+dubbo:
+ registries:
+ registryKey:
+ protocol: zookeeper
+ address: 127.0.0.1:2181
+ protocols:
+ tripleKey:
+ name: tri
+ port: 20000
+ provider:
+ registry:
+ - registryKey
+ services:
+ UserProvider:
+ protocol: tripleKey
+ serialization: json
+ interface: com.apache.dubbogo.samples.rpc.extension.UserProvider # must be compatible with grpc or dubbo-java
\ No newline at end of file
diff --git a/rpc/dubbo3/codec-extension/go-server/conf/server.yml b/rpc/dubbo3/codec-extension/go-server/conf/server.yml
deleted file mode 100644
index 4e8d051..0000000
--- a/rpc/dubbo3/codec-extension/go-server/conf/server.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserProvider"
- module: "dubbo-go3.0 greeter server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZK":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZK"
- protocol: "tri" # tri is dubbo-go3.0 protocol
- serialization: "json" # json is user defined serialization type
- interface: "com.apache.dubbo.sample.basic.IGreeter"
-
-# protocol config
-protocols:
- "tri":
- name: "tri"
- port: 20001
diff --git a/rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml~merged b/rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/dubbo3/codec-extension/go-server/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/dubbo3/codec-extension/go-server/pkg/greeter.go b/rpc/dubbo3/codec-extension/go-server/pkg/greeter.go
deleted file mode 100644
index 52d08fd..0000000
--- a/rpc/dubbo3/codec-extension/go-server/pkg/greeter.go
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package pkg
-
-import (
- "context"
-)
-
-import (
- "github.com/dubbogo/gost/log"
-)
-
-type User struct {
- ID string
- Name string
- Age int32
-}
-
-type UserProvider struct {
-}
-
-func (u *UserProvider) GetUser(ctx context.Context, user *User) (*User, error) {
- gxlog.CInfo("req:%#v", user)
- rsp := User{"12345", "Hello " + user.Name, 18}
- gxlog.CInfo("rsp:%#v", rsp)
- return &rsp, nil
-}
-
-func (u *UserProvider) Reference() string {
- return "UserProvider"
-}
diff --git a/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go b/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go
index 93dc772..3513b11 100644
--- a/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go
+++ b/rpc/dubbo3/hessian2/go-server/cmd/simple_service.go
@@ -23,7 +23,7 @@ type UserProvider struct {
func (u *UserProvider) GetUser(ctx context.Context, usr *User) (*User, error) {
gxlog.CInfo("req:%#v", usr)
- rsp := User{"12345", "" + usr.Name, 18}
+ rsp := User{"12345", "Hello " + usr.Name, 18}
gxlog.CInfo("rsp:%#v", rsp)
return &rsp, nil
}
diff --git a/rpc/dubbo3/msgpack/go-server/cmd/server.go b/rpc/dubbo3/msgpack/go-server/cmd/server.go
index 9c956c0..f40729f 100644
--- a/rpc/dubbo3/msgpack/go-server/cmd/server.go
+++ b/rpc/dubbo3/msgpack/go-server/cmd/server.go
@@ -43,9 +43,9 @@ type UserProvider struct {
func (u UserProvider) GetUser(ctx context.Context, user *api.User) (*api.User, error) {
gxlog.CInfo("req:%#v", user)
rsp := api.User{
- Name: "12345",
- Id: "Hello " + user.Name,
- Age: 18,
+ Name: "12345",
+ Id: "Hello " + user.Name,
+ Age: 18,
}
gxlog.CInfo("rsp:%#v", rsp)
return &rsp, nil
diff --git a/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go
index c0e8c9d..d54bf26 100644
--- a/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go
+++ b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/cmd/server.go
@@ -41,7 +41,7 @@ import (
)
import (
- "github.com/apache/dubbo-go-samples/general/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg"
+ "github.com/apache/dubbo-go-samples/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/pkg"
)
var (
diff --git a/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml~merged b/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/dubbo3/pb/dubbogo-grpc/server/dubbogo-server/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go b/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
index 4041fb7..df828eb 100644
--- a/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
+++ b/rpc/dubbo3/pb/dubbogo-grpc/server/grpcgo-server/main.go
@@ -28,7 +28,6 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
- "google.golang.org/grpc/reflection"
)
import (
diff --git a/rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml~merged b/rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/dubbo3/pb/dubbogo-java/go-server/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/grpc/go-client/cmd/client.go b/rpc/grpc/go-client/cmd/client.go
index 940421e..c2e7fca 100644
--- a/rpc/grpc/go-client/cmd/client.go
+++ b/rpc/grpc/go-client/cmd/client.go
@@ -52,11 +52,10 @@ func main() {
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- reply := &protobuf.HelloReply{}
req := &protobuf.HelloRequest{
Name: "xujianhai",
}
- err := grpcGreeterImpl.SayHello(context.TODO(), req, reply)
+ reply, err := grpcGreeterImpl.SayHello(context.TODO(), req)
if err != nil {
panic(err)
}
diff --git a/rpc/grpc/go-client/conf/log.yml~merged b/rpc/grpc/go-client/conf/log.yml~merged
deleted file mode 100644
index 2b6e93a..0000000
--- a/rpc/grpc/go-client/conf/log.yml~merged
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/rpc/grpc/go-server/conf/log.yml~merged b/rpc/grpc/go-server/conf/log.yml~merged
deleted file mode 100644
index 970d988..0000000
--- a/rpc/grpc/go-server/conf/log.yml~merged
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/rpc/rest/go-client/docker/docker-compose.yml~merged b/rpc/rest/go-client/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/rest/go-client/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/rpc/rest/go-server/docker/docker-compose.yml~merged b/rpc/rest/go-server/docker/docker-compose.yml~merged
deleted file mode 100644
index 8724179..0000000
--- a/rpc/rest/go-server/docker/docker-compose.yml~merged
+++ /dev/null
@@ -1,9 +0,0 @@
-version: '3'
-
-services:
- zookeeper:
- image: zookeeper
- ports:
- - 2181:2181
- restart: on-failure
-
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index b539384..0f6758d 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -88,7 +88,13 @@
## the test of router logic would be fixed later
#array+=("router/uniform-router/file/go-server")
#array+=("router/uniform-router/file/go-server2")
-array+=("helloworld")
+
+array=("helloworld")
+array+=("direct")
+array+=("config-api/rpc/triple")
+array+=("registry/zookeeper")
+array+=("rpc/dubbo3/codec-extension")
+array+=("rpc/dubbo3/hessian2")
for((i=0;i<${#array[*]};i++))
do
diff --git a/tracing/grpc/go-server/app/helloworld.pb.go b/tracing/grpc/go-server/app/helloworld.pb.go
index a6baf5c..e8bf208 100644
--- a/tracing/grpc/go-server/app/helloworld.pb.go
+++ b/tracing/grpc/go-server/app/helloworld.pb.go
@@ -18,8 +18,6 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
- "google.golang.org/grpc/codes"
- "google.golang.org/grpc/status"
"google.golang.org/grpc/status"
)
[dubbo-go-samples] 02/14: add:zk registry
Posted by zh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
zhaoyunxing pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
commit 62f6d2b8cc01201193c03a0a2c8b9358fa9e6456
Author: zhaoyunxing <23...@qq.com>
AuthorDate: Wed Aug 4 19:53:36 2021 +0800
add:zk registry
---
.run/helloworld-go-server.run.xml | 15 ----
.run/registry/registry-zookeeper-go-client.run.xml | 11 +++
.run/registry/registry-zookeeper-go-server.run.xml | 11 +++
go.mod | 2 +
go.sum | 31 ++++++++-
registry/zookeeper/go-client/cmd/client.go | 9 +--
registry/zookeeper/go-client/conf/application.yml | 20 ++++++
registry/zookeeper/go-client/conf/client.yml | 59 ----------------
registry/zookeeper/go-client/conf/log.yml | 27 --------
registry/zookeeper/go-client/pkg/user.go | 6 ++
registry/zookeeper/go-server/cmd/server.go | 15 ++--
registry/zookeeper/go-server/conf/client.yml | 59 ----------------
registry/zookeeper/go-server/conf/log.yml | 27 --------
registry/zookeeper/go-server/conf/server.yml | 79 +++++++---------------
registry/zookeeper/go-server/pkg/user.go | 5 ++
15 files changed, 119 insertions(+), 257 deletions(-)
diff --git a/.run/helloworld-go-server.run.xml b/.run/helloworld-go-server.run.xml
deleted file mode 100644
index f098a7f..0000000
--- a/.run/helloworld-go-server.run.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="helloworld-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application" singleton="true">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/helloworld/go-server/conf/log.yml" />
- <env name="CONF_PROVIDER_FILE_PATH" value="$PROJECT_DIR$/helloworld/go-server/conf/server.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package value="github.com/apache/dubbo-go-samples/helloworld/go-server/cmd" />
- <directory value="$PROJECT_DIR$" />
- <filePath value="$PROJECT_DIR$/helloworld/go-server/cmd/server.go" />
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/.run/registry/registry-zookeeper-go-client.run.xml b/.run/registry/registry-zookeeper-go-client.run.xml
new file mode 100644
index 0000000..e9841d8
--- /dev/null
+++ b/.run/registry/registry-zookeeper-go-client.run.xml
@@ -0,0 +1,11 @@
+<component name="ProjectRunConfigurationManager">
+ <configuration default="false" name="registry-zookeeper-go-client" type="GoApplicationRunConfiguration" factoryName="Go Application">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$" />
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/registry/zookeeper/go-client/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/registry/zookeeper/go-client/cmd/client.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/registry/registry-zookeeper-go-server.run.xml b/.run/registry/registry-zookeeper-go-server.run.xml
new file mode 100644
index 0000000..023aa10
--- /dev/null
+++ b/.run/registry/registry-zookeeper-go-server.run.xml
@@ -0,0 +1,11 @@
+<component name="ProjectRunConfigurationManager">
+ <configuration default="false" name="registry-zookeeper-go-server" type="GoApplicationRunConfiguration" factoryName="Go Application">
+ <module name="dubbo-go-samples" />
+ <working_directory value="$PROJECT_DIR$" />
+ <kind value="PACKAGE" />
+ <package value="github.com/apache/dubbo-go-samples/registry/zookeeper/go-server/cmd" />
+ <directory value="$PROJECT_DIR$" />
+ <filePath value="$PROJECT_DIR$/registry/zookeeper/go-server/cmd/server.go" />
+ <method v="2" />
+ </configuration>
+</component>
\ No newline at end of file
diff --git a/go.mod b/go.mod
index adbc13c..590b9e6 100644
--- a/go.mod
+++ b/go.mod
@@ -26,4 +26,6 @@ require (
replace github.com/envoyproxy/go-control-plane => github.com/envoyproxy/go-control-plane v0.8.0
+// replace dubbo.apache.org/dubbo-go/v3 => /Users/docker/code/github/go/dubbo-go
+
go 1.13
diff --git a/go.sum b/go.sum
index ad2291c..da228e9 100644
--- a/go.sum
+++ b/go.sum
@@ -12,8 +12,6 @@ cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqCl
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612 h1:uQMGg4Hnu/iO+RLrKIRsBXgJLUpLh+UG5NuVNGxGlsg=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20210725154253-9aeb7ff3c612/go.mod h1:RvuYcSX5rxb1aQTSol4EFt2txaJhzMmUAkT75lT9ETE=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA=
@@ -144,6 +142,7 @@ github.com/dubbogo/go-zookeeper v1.0.3 h1:UkuY+rBsxdT7Bs63QAzp9z7XqQ53W1j8E5rwl8
github.com/dubbogo/go-zookeeper v1.0.3/go.mod h1:fn6n2CAEer3novYgk9ULLwAjuV8/g4DdC2ENwRb6E+c=
github.com/dubbogo/gost v1.9.0/go.mod h1:pPTjVyoJan3aPxBPNUX0ADkXjPibLo+/Ib0/fADXSG8=
github.com/dubbogo/gost v1.10.1/go.mod h1:+mQGS51XQEUWZP2JeGZTxJwipjRKtJO7Tr+FOg+72rI=
+github.com/dubbogo/gost v1.11.13/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/gost v1.11.14 h1:9lfcdILOmqTOVAW1fPHa5uf1NrD6jlIOBe4vf8576yQ=
github.com/dubbogo/gost v1.11.14/go.mod h1:vIcP9rqz2KsXHPjsAwIUtfJIJjppQLQDcYaZTy/61jI=
github.com/dubbogo/jsonparser v1.0.1/go.mod h1:tYAtpctvSP/tWw4MeelsowSPgXQRVHHWbqL6ynps8jU=
@@ -201,6 +200,7 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o=
+github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc=
github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
@@ -214,9 +214,13 @@ github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nA
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A=
github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
+github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q=
github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8=
+github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no=
github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA=
github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
+github.com/go-playground/validator/v10 v10.7.0 h1:gLi5ajTBBheLNt0ctewgq7eolXoDALQd5/y90Hh9ZgM=
+github.com/go-playground/validator/v10 v10.7.0/go.mod h1:xm76BBt941f7yWdGnI2DVPFFg1UK3YY04qifoXU3lOk=
github.com/go-redis/redis v6.15.5+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA=
github.com/go-resty/resty/v2 v2.3.0 h1:JOOeAvjSlapTT92p8xiS19Zxev1neGikoHsXJeOq8So=
github.com/go-resty/resty/v2 v2.3.0/go.mod h1:UpN9CgLZNsv4e9XG50UU8xdI0F43UQ4HmxLBDwaroHU=
@@ -329,6 +333,7 @@ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brv
github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI=
+github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g=
@@ -336,7 +341,9 @@ github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iP
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY=
github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
+github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs=
github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
+github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A=
github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
@@ -355,9 +362,12 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q=
+github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267 h1:e1ok06zGrWJW91rzRroyl5nRNqraaBe4d5hiKcVZuHM=
github.com/hashicorp/vault/sdk v0.1.14-0.20200519221838-e0cfd64bc267/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10=
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
+github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
@@ -371,6 +381,8 @@ github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8 h1:mGIXW/lubQ4B+3bXT
github.com/jinzhu/copier v0.0.0-20190625015134-976e0346caa8/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
+github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
+github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
@@ -396,6 +408,8 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/knadh/koanf v1.1.1 h1:doO5UBvSXcmngdr/u54HKe+Uz4ZZw0/YHVzSsnE3vD4=
+github.com/knadh/koanf v1.1.1/go.mod h1:xpPTwMhsA/aaQLAilyCCqfpEiY1gpa160AiCuWHJUjY=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
@@ -407,6 +421,7 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
+github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570 h1:0iQektZGS248WXmGIYOwRXSQhD4qn3icjMpuxwO7qlo=
github.com/lestrrat/go-envload v0.0.0-20180220120943-6ed08b54a570/go.mod h1:BLt8L9ld7wVsvEWQbuLrUZnCMnUmLZ+CGDzKtclrTlE=
@@ -442,6 +457,8 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
+github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
+github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
@@ -454,6 +471,8 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh
github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
+github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
+github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -512,8 +531,9 @@ github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaR
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
-github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg=
github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+github.com/pelletier/go-toml v1.7.0 h1:7utD74fnzVc/cpcyy8sjrlFr5vYpypUixARcHIMIGuI=
+github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU=
@@ -581,6 +601,7 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
+github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA=
github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
@@ -851,6 +872,7 @@ golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -864,6 +886,7 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -977,6 +1000,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0
google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -996,6 +1020,7 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
diff --git a/registry/zookeeper/go-client/cmd/client.go b/registry/zookeeper/go-client/cmd/client.go
index 1fb9871..1735077 100644
--- a/registry/zookeeper/go-client/cmd/client.go
+++ b/registry/zookeeper/go-client/cmd/client.go
@@ -33,8 +33,6 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
- hessian "github.com/apache/dubbo-go-hessian2"
-
gxlog "github.com/dubbogo/gost/log"
)
@@ -46,12 +44,15 @@ var userProvider = new(pkg.UserProvider)
func init() {
config.SetConsumerService(userProvider)
- hessian.RegisterPOJO(&pkg.User{})
+
}
// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
func main() {
- config.Load()
+ path := "./registry/zookeeper/go-client/conf/application.yml"
+ if err := config.Load(config.WithPath(path)); err != nil {
+ panic(err)
+ }
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
diff --git a/registry/zookeeper/go-client/conf/application.yml b/registry/zookeeper/go-client/conf/application.yml
new file mode 100644
index 0000000..9e84b93
--- /dev/null
+++ b/registry/zookeeper/go-client/conf/application.yml
@@ -0,0 +1,20 @@
+dubbo:
+ registries:
+ zk:
+ timeout: 10s
+ address: zookeeper://127.0.0.1:2181
+ protocols:
+ dubbo:
+ name: dubbo
+ port: 20000
+ consumer:
+ check: false
+ references:
+ UserProvider:
+ registry: zk
+ protocol: dubbo
+ interface: org.apache.dubbo.UserService
+ cluster: failover
+ methods:
+ - name: GetUser
+ retries: 3
\ No newline at end of file
diff --git a/registry/zookeeper/go-client/conf/client.yml b/registry/zookeeper/go-client/conf/client.yml
deleted file mode 100644
index 308d530..0000000
--- a/registry/zookeeper/go-client/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoClient"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/registry/zookeeper/go-client/conf/log.yml b/registry/zookeeper/go-client/conf/log.yml
deleted file mode 100644
index 2b6e93a..0000000
--- a/registry/zookeeper/go-client/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "debug"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/registry/zookeeper/go-client/pkg/user.go b/registry/zookeeper/go-client/pkg/user.go
index 7733ea4..dac6ccf 100644
--- a/registry/zookeeper/go-client/pkg/user.go
+++ b/registry/zookeeper/go-client/pkg/user.go
@@ -22,6 +22,12 @@ import (
"time"
)
+import "github.com/apache/dubbo-go-hessian2"
+
+func init() {
+ hessian.RegisterPOJO(new(User))
+}
+
type User struct {
ID string
Name string
diff --git a/registry/zookeeper/go-server/cmd/server.go b/registry/zookeeper/go-server/cmd/server.go
index b6f77db..fb82cfa 100644
--- a/registry/zookeeper/go-server/cmd/server.go
+++ b/registry/zookeeper/go-server/cmd/server.go
@@ -19,6 +19,7 @@ package main
import (
"fmt"
+ "github.com/apache/dubbo-go-samples/registry/zookeeper/go-server/pkg"
"os"
"os/signal"
"syscall"
@@ -35,12 +36,6 @@ import (
_ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
_ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
_ "dubbo.apache.org/dubbo-go/v3/registry/zookeeper"
-
- hessian "github.com/apache/dubbo-go-hessian2"
-)
-
-import (
- "github.com/apache/dubbo-go-samples/registry/zookeeper/go-server/pkg"
)
var (
@@ -49,9 +44,13 @@ var (
// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run
func main() {
- hessian.RegisterPOJO(&pkg.User{})
config.SetProviderService(new(pkg.UserProvider))
- config.Load()
+
+ path := "./registry/zookeeper/go-server/conf/server.yml"
+
+ if err := config.Load(config.WithPath(path)); err != nil {
+ panic(err)
+ }
initSignal()
}
diff --git a/registry/zookeeper/go-server/conf/client.yml b/registry/zookeeper/go-server/conf/client.yml
deleted file mode 100644
index 11ae382..0000000
--- a/registry/zookeeper/go-server/conf/client.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-# dubbo client yaml configure file
-
-check: true
-# client
-request_timeout: "3s"
-# connect timeout
-connect_timeout: "3s"
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoTest"
- module: "dubbo-go user-info client"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
- username: ""
- password: ""
-
-# reference config
-references:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 3
-
-# protocol config
-protocol_conf:
- dubbo:
- reconnect_interval: 0
- connection_number: 1
- heartbeat_period: "5s"
- session_timeout: "180s"
- pool_size: 64
- pool_ttl: 600
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "client"
diff --git a/registry/zookeeper/go-server/conf/log.yml b/registry/zookeeper/go-server/conf/log.yml
deleted file mode 100644
index 970d988..0000000
--- a/registry/zookeeper/go-server/conf/log.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-level: "error"
-development: true
-disableCaller: false
-disableStacktrace: false
-sampling:
-encoding: "console"
-
-# encoder
-encoderConfig:
- messageKey: "message"
- levelKey: "level"
- timeKey: "time"
- nameKey: "logger"
- callerKey: "caller"
- stacktraceKey: "stacktrace"
- lineEnding: ""
- levelEncoder: "capital"
- timeEncoder: "iso8601"
- durationEncoder: "seconds"
- callerEncoder: "short"
- nameEncoder: ""
-
-outputPaths:
- - "stderr"
-errorOutputPaths:
- - "stderr"
-initialFields:
diff --git a/registry/zookeeper/go-server/conf/server.yml b/registry/zookeeper/go-server/conf/server.yml
index af90434..bb45535 100644
--- a/registry/zookeeper/go-server/conf/server.yml
+++ b/registry/zookeeper/go-server/conf/server.yml
@@ -1,55 +1,24 @@
-# dubbo server yaml configure file
-
-# application config
-application:
- organization: "dubbo.io"
- name: "UserInfoServer"
- module: "dubbo-go user-info server"
- version: "0.0.1"
- environment: "dev"
-
-# registry config
-registries:
- "demoZk":
- protocol: "zookeeper"
- timeout: "3s"
- address: "127.0.0.1:2181"
-
-# service config
-services:
- "UserProvider":
- registry: "demoZk"
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
- loadbalance: "random"
- warmup: "100"
- cluster: "failover"
- methods:
- - name: "GetUser"
- retries: 1
- loadbalance: "random"
-
-# protocol config
-protocols:
- "dubbo":
- name: "dubbo"
- port: 20000
-
-protocol_conf:
- dubbo:
- session_number: 700
- session_timeout: "180s"
- getty_session_param:
- compress_encoding: false
- tcp_no_delay: true
- tcp_keep_alive: true
- keep_alive_period: "120s"
- tcp_r_buf_size: 262144
- tcp_w_buf_size: 65536
- pkg_rq_size: 1024
- pkg_wq_size: 512
- tcp_read_timeout: "1s"
- tcp_write_timeout: "5s"
- wait_timeout: "1s"
- max_msg_len: 1024000
- session_name: "server"
+dubbo:
+ registries:
+ zk:
+ timeout: 10s
+ address: zookeeper://127.0.0.1:2181
+ protocols:
+ dubbo:
+ name: dubbo
+ port: 20000
+ provider:
+ register: true
+ registry: zk
+ services:
+ UserProvider:
+ registry: zk
+ protocol: dubbo
+ interface: org.apache.dubbo.UserService
+ loadbalance: random
+ warmup: 100
+ cluster: failover
+ methods:
+ - name: GetUser
+ retries: 1
+ loadbalance: random
\ No newline at end of file
diff --git a/registry/zookeeper/go-server/pkg/user.go b/registry/zookeeper/go-server/pkg/user.go
index 8e34bf0..e9c2e56 100644
--- a/registry/zookeeper/go-server/pkg/user.go
+++ b/registry/zookeeper/go-server/pkg/user.go
@@ -19,6 +19,7 @@ package pkg
import (
"context"
+ hessian "github.com/apache/dubbo-go-hessian2"
"time"
)
@@ -26,6 +27,10 @@ import (
"github.com/dubbogo/gost/log"
)
+func init() {
+ hessian.RegisterPOJO(new(User))
+}
+
type User struct {
ID string
Name string