From d19a14b07561a7ac5a76b3a62f26951922b9fea5 Mon Sep 17 00:00:00 2001 From: pantianying <601666418@qq.com> Date: Fri, 5 Jul 2019 15:37:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E6=88=90=E5=92=8Cjava=E4=B8=80?= =?UTF-8?q?=E6=A0=B7=E7=9A=84=E4=BD=BF=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/generic_reference_config.go | 54 ++++---------------------- examples/dubbo/go-client/app/client.go | 8 ++-- 2 files changed, 11 insertions(+), 51 deletions(-) diff --git a/config/generic_reference_config.go b/config/generic_reference_config.go index 87ec0002c..aa73ed2ba 100644 --- a/config/generic_reference_config.go +++ b/config/generic_reference_config.go @@ -1,64 +1,24 @@ package config -import ( - "context" - "errors" -) - -const GenericReferKey = "GenericReferKey" - type GenericService struct { Invoke func(req []interface{}) (interface{}, error) `dubbo:"$invoke"` referenceStr string } func NewGenericService(referenceStr string) *GenericService { - return &GenericService{referenceStr: GenericReferKey} + return &GenericService{referenceStr: referenceStr} } func (u *GenericService) Reference() string { return u.referenceStr } -type GenericConsumerConfig struct { - ID string - Protocol string - Registry string - Version string - Group string - InterfaceName string - Cluster string - Retries int64 - ref *ReferenceConfig - genericService *GenericService -} - -func (gConfig *GenericConsumerConfig) Load() (err error) { - - gr := NewReferenceConfig(context.TODO()) +func (refconfig *ReferenceConfig) Load(id string) { //gr.Filter = "genericConsumer" //todo: add genericConsumer filter - gr.Registry = gConfig.Registry - gr.Protocol = gConfig.Protocol - gr.Version = gConfig.Version - gr.Group = gConfig.Group - gr.InterfaceName = gConfig.InterfaceName - gr.Cluster = gConfig.Cluster - gr.Methods = append(gr.Methods, &MethodConfig{Name: "$invoke", Retries: gConfig.Retries}) - gConfig.ref = gr - gConfig.genericService = NewGenericService(gConfig.ID) - SetConsumerService(gConfig.genericService) - rpcService := GetConsumerService(GenericReferKey) - if rpcService == nil { - err = errors.New("get rpcService err,GenericReferKey not Set ") - return - } - - gConfig.ref.id = gConfig.ID - gConfig.ref.Refer() - gConfig.ref.Implement(rpcService) + genericService := NewGenericService(refconfig.id) + SetConsumerService(genericService) + refconfig.id = id + refconfig.Refer() + refconfig.Implement(genericService) return - -} -func (gConfig *GenericConsumerConfig) GetGenericService() *GenericService { - return gConfig.genericService } diff --git a/examples/dubbo/go-client/app/client.go b/examples/dubbo/go-client/app/client.go index d0694615a..186ef2612 100644 --- a/examples/dubbo/go-client/app/client.go +++ b/examples/dubbo/go-client/app/client.go @@ -290,18 +290,18 @@ func test2() { println("error: %v", err) } func test3() { - var genericConfig = config.GenericConsumerConfig{ - ID: "UserProviderGer", //GetService鐨勫敮涓€鏍囪瘑涓嶅彲缂哄皯 + var appName = "UserProviderGer" + var referenceConfig = config.ReferenceConfig{ InterfaceName: "com.ikurento.user.UserProvider", Cluster: "failover", Registry: "hangzhouzk", Protocol: dubbo.DUBBO, } - genericConfig.Load() + referenceConfig.Load(appName) //appName鏄疓etService鐨勫敮涓€鏍囪瘑涓嶅彲缂哄皯 time.Sleep(3 * time.Second) println("\n\n\nstart to generic invoke") - resp, err := genericConfig.GetGenericService().Invoke([]interface{}{"GetUser", []string{"java.lang.String"}, []hessian.Object{"A003"}}) + resp, err := referenceConfig.GetRPCService().(*config.GenericService).Invoke([]interface{}{"GetUser", []string{"java.lang.String"}, []hessian.Object{"A003"}}) if err != nil { panic(err) } -- GitLab