You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by la...@apache.org on 2021/10/25 07:24:04 UTC

[dubbo-go-samples] branch master updated: fix: fix custom filter samples (#276)

This is an automated email from the ASF dual-hosted git repository.

laurence pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new e08c838  fix: fix custom filter samples (#276)
e08c838 is described below

commit e08c8384d3f363a771e9af2ae24812c4434d655f
Author: Laurence <45...@users.noreply.github.com>
AuthorDate: Mon Oct 25 15:23:56 2021 +0800

    fix: fix custom filter samples (#276)
    
    * fix: fix custom filter samples
    
    * fix: add golang .run
    
    * fix: remove useless sleep
    
    * update dubbogo
    
    * fix: filter integrate test
    
    * fix: license
    
    * fix: update to latst dubbogo version
---
 .run/custom-client.run.xml                         | 14 +++++++
 .run/custom-server.run.xml                         | 14 +++++++
 .../configcenter/nacos/go-client/cmd/client.go     |  3 --
 .../configcenter/zookeeper/go-client/cmd/client.go |  3 --
 config-api/rpc/triple/go-client/cmd/client.go      |  3 --
 configcenter/apollo/go-client/cmd/client.go        |  2 -
 configcenter/nacos/go-client/cmd/client.go         |  2 -
 configcenter/zookeeper/go-client/cmd/client.go     |  2 -
 context/triple/go-client/cmd/client.go             |  2 -
 direct/go-client/cmd/client.go                     |  2 -
 filter/custom/go-client/cmd/client.go              | 26 ++++---------
 .../custom/go-client/cmd/myfilter.go               | 45 ++++++++--------------
 filter/custom/go-client/conf/dubbogo.yml           |  7 ++--
 filter/custom/go-client/pkg/user.go                | 38 ------------------
 .../custom/go-server/cmd/myfilter.go               | 45 ++++++++--------------
 .../custom/go-server/cmd/server.go                 | 26 ++++++-------
 filter/custom/go-server/conf/dubbogo.yml           |  9 +++--
 go.mod                                             |  2 +-
 go.sum                                             |  4 +-
 helloworld/go-client/cmd/client.go                 |  2 -
 .../apollo/tests/integration/main_test.go          |  2 -
 .../nacos/tests/integration/main_test.go           |  1 -
 .../context/dubbo/tests/integration/main_test.go   |  2 -
 .../direct/tests/integration/main_test.go          |  2 -
 .../filter/custom/tests/integration/main_test.go   | 27 ++-----------
 .../custom/tests/integration/userprovider_test.go  | 16 ++++----
 .../go-server-game/tests/integration/main_test.go  |  2 -
 .../go-server-gate/tests/integration/main_test.go  |  2 -
 .../helloworld/tests/integration/main_test.go      |  2 -
 .../registry/etcd/tests/integration/main_test.go   |  4 --
 .../etcd/tests/integration/userprovider_test.go    |  2 -
 .../registry/nacos/tests/integration/main_test.go  |  3 --
 .../nacos/tests/integration/userprovider_test.go   |  2 -
 .../nacos/tests/integration/main_test.go           |  2 -
 .../zookeeper/tests/integration/main_test.go       |  2 -
 .../zookeeper/tests/integration/main_test.go       |  2 -
 .../rpc/dubbo/tests/integration/main_test.go       |  1 -
 .../rpc/grpc/tests/integration/main_test.go        |  2 -
 .../rpc/jsonrpc/tests/integration/main_test.go     |  3 --
 .../codec-extension/tests/integration/main_test.go |  3 +-
 .../triple/hessian2/tests/integration/main_test.go |  3 +-
 .../triple/msgpack/tests/integration/main_test.go  |  3 +-
 .../pb/dubbogo-grpc/tests/integration/main_test.go |  2 -
 registry/etcd/go-client/cmd/client.go              |  2 -
 registry/nacos/go-client/cmd/client.go             |  1 -
 .../servicediscovery/nacos/go-client/cmd/client.go |  2 -
 .../zookeeper/go-client/cmd/client.go              |  2 -
 registry/zookeeper/go-client/cmd/client.go         |  2 -
 rpc/dubbo/go-client/cmd/client.go                  |  3 --
 rpc/grpc/go-client/cmd/client.go                   |  2 -
 rpc/triple/codec-extension/go-client/cmd/client.go |  3 +-
 rpc/triple/hessian2/go-client/cmd/client.go        |  2 -
 rpc/triple/msgpack/go-client/cmd/client.go         |  2 -
 rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go |  2 -
 rpc/triple/pb/dubbogo-java/go-client/cmd/client.go |  2 -
 55 files changed, 108 insertions(+), 258 deletions(-)

diff --git a/.run/custom-client.run.xml b/.run/custom-client.run.xml
new file mode 100644
index 0000000..a2739f6
--- /dev/null
+++ b/.run/custom-client.run.xml
@@ -0,0 +1,14 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="custom-client" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="filter">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$" />
+    <envs>
+      <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/filter/custom/go-client/conf/dubbogo.yml" />
+    </envs>
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/filter/custom/go-client/cmd" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$/rpc/dubbo/go-client/cmd/client.go" />
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/.run/custom-server.run.xml b/.run/custom-server.run.xml
new file mode 100644
index 0000000..7c5d1b3
--- /dev/null
+++ b/.run/custom-server.run.xml
@@ -0,0 +1,14 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="custom-server" type="GoApplicationRunConfiguration" factoryName="Go Application" folderName="filter">
+    <module name="dubbo-go-samples" />
+    <working_directory value="$PROJECT_DIR$" />
+    <envs>
+      <env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/filter/custom/go-server/conf/dubbogo.yml" />
+    </envs>
+    <kind value="PACKAGE" />
+    <package value="github.com/apache/dubbo-go-samples/filter/custom/go-server/cmd" />
+    <directory value="$PROJECT_DIR$" />
+    <filePath value="$PROJECT_DIR$/rpc/dubbo/go-client/cmd/client.go" />
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/config-api/configcenter/nacos/go-client/cmd/client.go b/config-api/configcenter/nacos/go-client/cmd/client.go
index fbaee58..6c63543 100644
--- a/config-api/configcenter/nacos/go-client/cmd/client.go
+++ b/config-api/configcenter/nacos/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -75,8 +74,6 @@ func main() {
 		panic(err)
 	}
 
-	time.Sleep(3 * time.Second)
-
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
 		Name: "laurence",
diff --git a/config-api/configcenter/zookeeper/go-client/cmd/client.go b/config-api/configcenter/zookeeper/go-client/cmd/client.go
index bf88cbb..cadde7a 100644
--- a/config-api/configcenter/zookeeper/go-client/cmd/client.go
+++ b/config-api/configcenter/zookeeper/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -73,8 +72,6 @@ func main() {
 		panic(err)
 	}
 
-	time.Sleep(3 * time.Second)
-
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
 		Name: "laurence",
diff --git a/config-api/rpc/triple/go-client/cmd/client.go b/config-api/rpc/triple/go-client/cmd/client.go
index 2863f0b..196b67d 100644
--- a/config-api/rpc/triple/go-client/cmd/client.go
+++ b/config-api/rpc/triple/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -53,8 +52,6 @@ func main() {
 		panic(err)
 	}
 
-	time.Sleep(3 * time.Second)
-
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
 		Name: "laurence",
diff --git a/configcenter/apollo/go-client/cmd/client.go b/configcenter/apollo/go-client/cmd/client.go
index 2c0c7ad..2a57b21 100644
--- a/configcenter/apollo/go-client/cmd/client.go
+++ b/configcenter/apollo/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -41,7 +40,6 @@ func init() {
 // 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{
diff --git a/configcenter/nacos/go-client/cmd/client.go b/configcenter/nacos/go-client/cmd/client.go
index 2c0c7ad..2a57b21 100644
--- a/configcenter/nacos/go-client/cmd/client.go
+++ b/configcenter/nacos/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -41,7 +40,6 @@ func init() {
 // 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{
diff --git a/configcenter/zookeeper/go-client/cmd/client.go b/configcenter/zookeeper/go-client/cmd/client.go
index 2c0c7ad..2a57b21 100644
--- a/configcenter/zookeeper/go-client/cmd/client.go
+++ b/configcenter/zookeeper/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -41,7 +40,6 @@ func init() {
 // 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{
diff --git a/context/triple/go-client/cmd/client.go b/context/triple/go-client/cmd/client.go
index b6109bb..ca7f1fd 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"
-	"time"
 )
 
 import (
@@ -43,7 +42,6 @@ func init() {
 // 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{
diff --git a/direct/go-client/cmd/client.go b/direct/go-client/cmd/client.go
index 59596d6..80c9ab8 100644
--- a/direct/go-client/cmd/client.go
+++ b/direct/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -40,7 +39,6 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
 
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
diff --git a/filter/custom/go-client/cmd/client.go b/filter/custom/go-client/cmd/client.go
index 95ae40f..54cfe94 100644
--- a/filter/custom/go-client/cmd/client.go
+++ b/filter/custom/go-client/cmd/client.go
@@ -19,26 +19,22 @@ 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"
-
-	hessian "github.com/apache/dubbo-go-hessian2"
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/filter/custom/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/api"
 )
 
-var userProvider = &pkg.UserProvider{}
+var userProvider = &api.GreeterClientImpl{}
 
 func init() {
 	config.SetConsumerService(userProvider)
-	hessian.RegisterPOJO(&pkg.User{})
 }
 
 func main() {
@@ -47,18 +43,10 @@ func main() {
 		panic(err)
 	}
 
-	var successCount, failCount int64
-	logger.Infof("\n\n\nstart to test dubbo")
-	for i := 0; i < 60; i++ {
-		time.Sleep(200 * time.Millisecond)
-		user, err := userProvider.GetUser(context.TODO(), "A001")
-		if err != nil {
-			failCount++
-			logger.Infof("error: %v\n", err)
-		} else {
-			successCount++
-		}
-		logger.Infof("response: %v\n", user)
+	logger.Infof("\n\n\nstart to test")
+	user, err := userProvider.SayHello(context.TODO(), &api.HelloRequest{Name: "laurence"})
+	if err != nil {
+		panic(err)
 	}
-	logger.Infof("failCount=%v, failCount=%v\n", successCount, failCount)
+	logger.Infof("get user = %+v", user)
 }
diff --git a/rpc/triple/msgpack/go-client/cmd/client.go b/filter/custom/go-client/cmd/myfilter.go
similarity index 53%
copy from rpc/triple/msgpack/go-client/cmd/client.go
copy to filter/custom/go-client/cmd/myfilter.go
index a563605..a3f59e0 100644
--- a/rpc/triple/msgpack/go-client/cmd/client.go
+++ b/filter/custom/go-client/cmd/myfilter.go
@@ -19,42 +19,31 @@ package main
 
 import (
 	"context"
-	"os"
-	"time"
+	"fmt"
 )
 
 import (
-	"dubbo.apache.org/dubbo-go/v3/config"
-	_ "dubbo.apache.org/dubbo-go/v3/imports"
-
-	gxlog "github.com/dubbogo/gost/log"
+	"dubbo.apache.org/dubbo-go/v3/common/extension"
+	"dubbo.apache.org/dubbo-go/v3/filter"
+	"dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-import (
-	"github.com/apache/dubbo-go-samples/api"
-)
-
-type UserProvider struct {
-	GetUser func(ctx context.Context, req *api.User) (rsp *api.User, err error)
+func init() {
+	extension.SetFilter("myClientFilter", NewMyClientFilter)
 }
 
-var userProvider = new(UserProvider)
-
-func init() {
-	config.SetConsumerService(userProvider)
+func NewMyClientFilter() filter.Filter {
+	return &MyClientFilter{}
 }
 
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-func main() {
-	config.Load()
-	time.Sleep(3 * time.Second)
+type MyClientFilter struct {
+}
 
-	gxlog.CInfo("\n\n\nstart to test dubbo")
-	user, err := userProvider.GetUser(context.TODO(), &api.User{Name: "laurence"})
-	if err != nil {
-		gxlog.CError("error: %v\n", err)
-		os.Exit(1)
-		return
-	}
-	gxlog.CInfo("response result: %v\n", user)
+func (f *MyClientFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
+	fmt.Println("MyClientFilter Invoke is called, method Name = ", invocation.MethodName())
+	return invoker.Invoke(ctx, invocation)
+}
+func (f *MyClientFilter) OnResponse(ctx context.Context, result protocol.Result, invoker protocol.Invoker, protocol protocol.Invocation) protocol.Result {
+	fmt.Println("MyClientFilter OnResponse is called")
+	return result
 }
diff --git a/filter/custom/go-client/conf/dubbogo.yml b/filter/custom/go-client/conf/dubbogo.yml
index 4617a7e..e2493db 100644
--- a/filter/custom/go-client/conf/dubbogo.yml
+++ b/filter/custom/go-client/conf/dubbogo.yml
@@ -3,16 +3,17 @@
 dubbo:
   registries:
     demoZK:
-      protocolIDs: zookeeper
+      protocol: zookeeper
       timeout: 3s
       address: 127.0.0.1:2181
   consumer:
+    filter: myClientFilter
     check: true
     request_timeout: 3s
     connect_timeout: 3s
     registryIDs:
       - demoZK
     references:
-      UserProvider:
-        protocolIDs: dubbo
+      GreeterClientImpl:
+        protocol: tri
         interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/filter/custom/go-client/pkg/user.go b/filter/custom/go-client/pkg/user.go
deleted file mode 100644
index 505abac..0000000
--- a/filter/custom/go-client/pkg/user.go
+++ /dev/null
@@ -1,38 +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 string) (*User, error)
-}
-
-func (u *User) JavaClassName() string {
-	return "org.apache.dubbo.User"
-}
diff --git a/rpc/triple/msgpack/go-client/cmd/client.go b/filter/custom/go-server/cmd/myfilter.go
similarity index 53%
copy from rpc/triple/msgpack/go-client/cmd/client.go
copy to filter/custom/go-server/cmd/myfilter.go
index a563605..261884a 100644
--- a/rpc/triple/msgpack/go-client/cmd/client.go
+++ b/filter/custom/go-server/cmd/myfilter.go
@@ -19,42 +19,31 @@ package main
 
 import (
 	"context"
-	"os"
-	"time"
+	"fmt"
 )
 
 import (
-	"dubbo.apache.org/dubbo-go/v3/config"
-	_ "dubbo.apache.org/dubbo-go/v3/imports"
-
-	gxlog "github.com/dubbogo/gost/log"
+	"dubbo.apache.org/dubbo-go/v3/common/extension"
+	"dubbo.apache.org/dubbo-go/v3/filter"
+	"dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-import (
-	"github.com/apache/dubbo-go-samples/api"
-)
-
-type UserProvider struct {
-	GetUser func(ctx context.Context, req *api.User) (rsp *api.User, err error)
+func init() {
+	extension.SetFilter("myServerFilter", NewMyServerFilter)
 }
 
-var userProvider = new(UserProvider)
-
-func init() {
-	config.SetConsumerService(userProvider)
+func NewMyServerFilter() filter.Filter {
+	return &MyServerFilter{}
 }
 
-// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
-func main() {
-	config.Load()
-	time.Sleep(3 * time.Second)
+type MyServerFilter struct {
+}
 
-	gxlog.CInfo("\n\n\nstart to test dubbo")
-	user, err := userProvider.GetUser(context.TODO(), &api.User{Name: "laurence"})
-	if err != nil {
-		gxlog.CError("error: %v\n", err)
-		os.Exit(1)
-		return
-	}
-	gxlog.CInfo("response result: %v\n", user)
+func (f *MyServerFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
+	fmt.Println("MyServerFilter Invoke is called, method Name = ", invocation.MethodName())
+	return invoker.Invoke(ctx, invocation)
+}
+func (f *MyServerFilter) OnResponse(ctx context.Context, result protocol.Result, invoker protocol.Invoker, protocol protocol.Invocation) protocol.Result {
+	fmt.Println("MyServerFilter OnResponse is called")
+	return result
 }
diff --git a/helloworld/go-client/cmd/client.go b/filter/custom/go-server/cmd/server.go
similarity index 70%
copy from helloworld/go-client/cmd/client.go
copy to filter/custom/go-server/cmd/server.go
index 59596d6..1514240 100644
--- a/helloworld/go-client/cmd/client.go
+++ b/filter/custom/go-server/cmd/server.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -32,23 +31,20 @@ import (
 	"github.com/apache/dubbo-go-samples/api"
 )
 
-var grpcGreeterImpl = new(api.GreeterClientImpl)
+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
+}
 
-// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
+// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-server/conf/dubbogo.yml
 func main() {
-	config.SetConsumerService(grpcGreeterImpl)
+	config.SetProviderService(&GreeterProvider{})
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
-
-	logger.Info("start to test dubbo")
-	req := &api.HelloRequest{
-		Name: "laurence",
-	}
-	reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
-	if err != nil {
-		logger.Error(err)
-	}
-	logger.Infof("client response result: %v\n", reply)
+	select {}
 }
diff --git a/filter/custom/go-server/conf/dubbogo.yml b/filter/custom/go-server/conf/dubbogo.yml
index 7dd1d1f..a220679 100644
--- a/filter/custom/go-server/conf/dubbogo.yml
+++ b/filter/custom/go-server/conf/dubbogo.yml
@@ -5,15 +5,16 @@ dubbo:
       timeout: 3s
       address: 127.0.0.1:2181
   protocols:
-    dubbo:
-      name: dubbo
+    tripleProtocol:
+      name: tri
       port: 20000
   provider:
     registryIDs:
       - demoZK
     services:
-      UserProvider:
-        protocolIDs: dubbo
+      GreeterProvider:
+        filter: myServerFilter
+        protocolIDs: tripleProtocol
         interface: org.apache.dubbo.UserProvider
         loadbalance: random
         warmup: 100
diff --git a/go.mod b/go.mod
index 3427be3..2f989ac 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.20211021080526-4206fc2035f3
+	dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20211025055545-a15f72aa4fa8
 	github.com/apache/dubbo-go-hessian2 v1.9.4-0.20210917102639-74a8ece5f3cb
 	github.com/dubbogo/gost v1.11.18
 	github.com/dubbogo/net v0.0.4
diff --git a/go.sum b/go.sum
index fd9484b..7a7da9f 100644
--- a/go.sum
+++ b/go.sum
@@ -33,8 +33,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
 cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
 cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
 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.20211021080526-4206fc2035f3 h1:AXjzVXhr4fgaoLbRTPvkFLAbN8MIislohCE5gP5wPQ0=
-dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20211021080526-4206fc2035f3/go.mod h1:vtZY/6buZ1RHI6JVBfbKw7Kp582AjLt+57g1Iyk1EdI=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20211025055545-a15f72aa4fa8 h1:8yr3rIpMiuTXm61JAWwoBdSJSnx2n4NhUAmEebcVQN4=
+dubbo.apache.org/dubbo-go/v3 v3.0.0-rc2.0.20211025055545-a15f72aa4fa8/go.mod h1:CNgt1+bui3uWepjoOOi4PVsuf6ZDQZLu0V8sWY02jT0=
 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=
diff --git a/helloworld/go-client/cmd/client.go b/helloworld/go-client/cmd/client.go
index 59596d6..80c9ab8 100644
--- a/helloworld/go-client/cmd/client.go
+++ b/helloworld/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -40,7 +39,6 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
 
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
diff --git a/integrate_test/configcenter/apollo/tests/integration/main_test.go b/integrate_test/configcenter/apollo/tests/integration/main_test.go
index fefd889..8e8355b 100644
--- a/integrate_test/configcenter/apollo/tests/integration/main_test.go
+++ b/integrate_test/configcenter/apollo/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var greeterProvider = new(dubbo3pb.GreeterClientImpl)
 func TestMain(m *testing.M) {
 	config.SetConsumerService(greeterProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/configcenter/nacos/tests/integration/main_test.go b/integrate_test/configcenter/nacos/tests/integration/main_test.go
index 8c876ab..fdb8490 100644
--- a/integrate_test/configcenter/nacos/tests/integration/main_test.go
+++ b/integrate_test/configcenter/nacos/tests/integration/main_test.go
@@ -37,7 +37,6 @@ func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	hessian.RegisterPOJO(&User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/context/dubbo/tests/integration/main_test.go b/integrate_test/context/dubbo/tests/integration/main_test.go
index 6749caf..c7a6993 100644
--- a/integrate_test/context/dubbo/tests/integration/main_test.go
+++ b/integrate_test/context/dubbo/tests/integration/main_test.go
@@ -21,7 +21,6 @@ import (
 	"context"
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	hessian.RegisterPOJO(&ContextContent{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/direct/tests/integration/main_test.go b/integrate_test/direct/tests/integration/main_test.go
index fefd889..8e8355b 100644
--- a/integrate_test/direct/tests/integration/main_test.go
+++ b/integrate_test/direct/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var greeterProvider = new(dubbo3pb.GreeterClientImpl)
 func TestMain(m *testing.M) {
 	config.SetConsumerService(greeterProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/filter/custom/tests/integration/main_test.go b/integrate_test/filter/custom/tests/integration/main_test.go
index 7dbd7f5..89b56df 100644
--- a/integrate_test/filter/custom/tests/integration/main_test.go
+++ b/integrate_test/filter/custom/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,41 +18,24 @@
 package integration
 
 import (
-	"context"
 	"os"
 	"testing"
-	"time"
 )
 
 import (
 	"dubbo.apache.org/dubbo-go/v3/config"
 	_ "dubbo.apache.org/dubbo-go/v3/imports"
+)
 
-	hessian "github.com/apache/dubbo-go-hessian2"
+import (
+	"github.com/apache/dubbo-go-samples/api"
 )
 
-var userProvider = &UserProvider{}
+var userProvider = &api.GreeterClientImpl{}
 
 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 string) (*User, error)
-}
-
-func (u *User) JavaClassName() string {
-	return "org.apache.dubbo.User"
-}
diff --git a/integrate_test/filter/custom/tests/integration/userprovider_test.go b/integrate_test/filter/custom/tests/integration/userprovider_test.go
index 858b546..5d4eff9 100644
--- a/integrate_test/filter/custom/tests/integration/userprovider_test.go
+++ b/integrate_test/filter/custom/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
@@ -28,12 +26,14 @@ import (
 	"github.com/stretchr/testify/assert"
 )
 
+import (
+	"github.com/apache/dubbo-go-samples/api"
+)
+
 func TestGetUser(t *testing.T) {
-	user := &User{}
-	user, err := userProvider.GetUser(context.TODO(), "A001")
+	user, err := userProvider.SayHello(context.TODO(), &api.HelloRequest{Name: "laurence"})
 	assert.Nil(t, err)
-	assert.Equal(t, "A001", user.ID)
-	assert.Equal(t, "ALEX STOCKS", user.Name)
-	assert.Equal(t, int32(28), user.Age)
-	assert.NotNil(t, user.Time)
+	assert.Equal(t, "12345", user.Id)
+	assert.Equal(t, "Hello laurence", user.Name)
+	assert.Equal(t, int32(21), user.Age)
 }
diff --git a/integrate_test/game/go-server-game/tests/integration/main_test.go b/integrate_test/game/go-server-game/tests/integration/main_test.go
index 3ecb6ce..72c7295 100644
--- a/integrate_test/game/go-server-game/tests/integration/main_test.go
+++ b/integrate_test/game/go-server-game/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -42,7 +41,6 @@ func TestMain(m *testing.M) {
 
 	hessian.RegisterPOJO(&pojo.Result{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/game/go-server-gate/tests/integration/main_test.go b/integrate_test/game/go-server-gate/tests/integration/main_test.go
index 91abb17..4899078 100644
--- a/integrate_test/game/go-server-gate/tests/integration/main_test.go
+++ b/integrate_test/game/go-server-gate/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -42,7 +41,6 @@ func TestMain(m *testing.M) {
 
 	hessian.RegisterPOJO(&pojo.Result{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/helloworld/tests/integration/main_test.go b/integrate_test/helloworld/tests/integration/main_test.go
index fefd889..8e8355b 100644
--- a/integrate_test/helloworld/tests/integration/main_test.go
+++ b/integrate_test/helloworld/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var greeterProvider = new(dubbo3pb.GreeterClientImpl)
 func TestMain(m *testing.M) {
 	config.SetConsumerService(greeterProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/registry/etcd/tests/integration/main_test.go b/integrate_test/registry/etcd/tests/integration/main_test.go
index 0fe7ad2..003b830 100644
--- a/integrate_test/registry/etcd/tests/integration/main_test.go
+++ b/integrate_test/registry/etcd/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,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -45,7 +42,6 @@ func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	hessian.RegisterPOJO(&pkg.User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/registry/etcd/tests/integration/userprovider_test.go b/integrate_test/registry/etcd/tests/integration/userprovider_test.go
index 3a18da3..35aff3a 100644
--- a/integrate_test/registry/etcd/tests/integration/userprovider_test.go
+++ b/integrate_test/registry/etcd/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
diff --git a/integrate_test/registry/nacos/tests/integration/main_test.go b/integrate_test/registry/nacos/tests/integration/main_test.go
index 2b98967..29ad58a 100644
--- a/integrate_test/registry/nacos/tests/integration/main_test.go
+++ b/integrate_test/registry/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
@@ -39,7 +37,6 @@ func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	hessian.RegisterPOJO(&User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/registry/nacos/tests/integration/userprovider_test.go b/integrate_test/registry/nacos/tests/integration/userprovider_test.go
index 7f17774..fbb9061 100644
--- a/integrate_test/registry/nacos/tests/integration/userprovider_test.go
+++ b/integrate_test/registry/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
diff --git a/integrate_test/registry/servicediscovery/nacos/tests/integration/main_test.go b/integrate_test/registry/servicediscovery/nacos/tests/integration/main_test.go
index fab1dcb..cbc239d 100644
--- a/integrate_test/registry/servicediscovery/nacos/tests/integration/main_test.go
+++ b/integrate_test/registry/servicediscovery/nacos/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var greeterProvider = &dubbo3pb.GreeterClientImpl{}
 func TestMain(m *testing.M) {
 	config.SetConsumerService(greeterProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/registry/servicediscovery/zookeeper/tests/integration/main_test.go b/integrate_test/registry/servicediscovery/zookeeper/tests/integration/main_test.go
index fab1dcb..cbc239d 100644
--- a/integrate_test/registry/servicediscovery/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/registry/servicediscovery/zookeeper/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var greeterProvider = &dubbo3pb.GreeterClientImpl{}
 func TestMain(m *testing.M) {
 	config.SetConsumerService(greeterProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/registry/zookeeper/tests/integration/main_test.go b/integrate_test/registry/zookeeper/tests/integration/main_test.go
index fab1dcb..cbc239d 100644
--- a/integrate_test/registry/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/registry/zookeeper/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var greeterProvider = &dubbo3pb.GreeterClientImpl{}
 func TestMain(m *testing.M) {
 	config.SetConsumerService(greeterProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/rpc/dubbo/tests/integration/main_test.go b/integrate_test/rpc/dubbo/tests/integration/main_test.go
index 49d31b2..9345bb5 100644
--- a/integrate_test/rpc/dubbo/tests/integration/main_test.go
+++ b/integrate_test/rpc/dubbo/tests/integration/main_test.go
@@ -41,7 +41,6 @@ func TestMain(m *testing.M) {
 	hessian.RegisterJavaEnum(Gender(WOMAN))
 	hessian.RegisterPOJO(&User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/rpc/grpc/tests/integration/main_test.go b/integrate_test/rpc/grpc/tests/integration/main_test.go
index c44de5a..cda7d7e 100644
--- a/integrate_test/rpc/grpc/tests/integration/main_test.go
+++ b/integrate_test/rpc/grpc/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,6 @@ var grpcGreeterImpl = new(pb.GreeterClientImpl)
 func TestMain(m *testing.M) {
 	config.SetConsumerService(grpcGreeterImpl)
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/rpc/jsonrpc/tests/integration/main_test.go b/integrate_test/rpc/jsonrpc/tests/integration/main_test.go
index 34a6335..24e340f 100644
--- a/integrate_test/rpc/jsonrpc/tests/integration/main_test.go
+++ b/integrate_test/rpc/jsonrpc/tests/integration/main_test.go
@@ -19,7 +19,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -48,7 +47,5 @@ func TestMain(m *testing.M) {
 
 	config.Load()
 
-	time.Sleep(3 * time.Second)
-
 	os.Exit(m.Run())
 }
diff --git a/integrate_test/rpc/triple/codec-extension/tests/integration/main_test.go b/integrate_test/rpc/triple/codec-extension/tests/integration/main_test.go
index 0744f5e..44d76fc 100644
--- a/integrate_test/rpc/triple/codec-extension/tests/integration/main_test.go
+++ b/integrate_test/rpc/triple/codec-extension/tests/integration/main_test.go
@@ -21,7 +21,6 @@ import (
 	"context"
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -34,7 +33,7 @@ var userProvider = new(UserProvider)
 func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
+
 	os.Exit(m.Run())
 }
 
diff --git a/integrate_test/rpc/triple/hessian2/tests/integration/main_test.go b/integrate_test/rpc/triple/hessian2/tests/integration/main_test.go
index 9fac6e0..dec3dcf 100644
--- a/integrate_test/rpc/triple/hessian2/tests/integration/main_test.go
+++ b/integrate_test/rpc/triple/hessian2/tests/integration/main_test.go
@@ -21,7 +21,6 @@ import (
 	"context"
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -37,7 +36,7 @@ func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	hessian.RegisterPOJO(&User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
+
 	os.Exit(m.Run())
 }
 
diff --git a/integrate_test/rpc/triple/msgpack/tests/integration/main_test.go b/integrate_test/rpc/triple/msgpack/tests/integration/main_test.go
index 4c93a7b..e94cecc 100644
--- a/integrate_test/rpc/triple/msgpack/tests/integration/main_test.go
+++ b/integrate_test/rpc/triple/msgpack/tests/integration/main_test.go
@@ -21,7 +21,6 @@ import (
 	"context"
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -38,7 +37,7 @@ var userProvider = new(UserProvider)
 func TestMain(m *testing.M) {
 	config.SetConsumerService(userProvider)
 	config.Load()
-	time.Sleep(3 * time.Second)
+
 	os.Exit(m.Run())
 }
 
diff --git a/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go b/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go
index f066255..b19c54e 100644
--- a/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go
+++ b/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go
@@ -20,7 +20,6 @@ package integration
 import (
 	"os"
 	"testing"
-	"time"
 )
 
 import (
@@ -39,7 +38,6 @@ func TestMain(m *testing.M) {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
 
 	os.Exit(m.Run())
 }
diff --git a/registry/etcd/go-client/cmd/client.go b/registry/etcd/go-client/cmd/client.go
index bb4facf..44ed536 100644
--- a/registry/etcd/go-client/cmd/client.go
+++ b/registry/etcd/go-client/cmd/client.go
@@ -20,7 +20,6 @@ package main
 import (
 	"context"
 	"os"
-	"time"
 )
 
 import (
@@ -49,7 +48,6 @@ func init() {
 func main() {
 	hessian.RegisterPOJO(&pkg.User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	gxlog.CInfo("\n\n\nstart to test dubbo")
 	user := &pkg.User{
diff --git a/registry/nacos/go-client/cmd/client.go b/registry/nacos/go-client/cmd/client.go
index e3feee4..147db6d 100644
--- a/registry/nacos/go-client/cmd/client.go
+++ b/registry/nacos/go-client/cmd/client.go
@@ -53,7 +53,6 @@ func main() {
 	config.SetConsumerService(userProvider)
 	hessian.RegisterPOJO(&User{})
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	gxlog.CInfo("\n\n\nstart to test dubbo")
 	user, err := userProvider.GetUser(context.TODO(), &User{Name: "Alex001"})
diff --git a/registry/servicediscovery/nacos/go-client/cmd/client.go b/registry/servicediscovery/nacos/go-client/cmd/client.go
index 5b050ee..17078ae 100644
--- a/registry/servicediscovery/nacos/go-client/cmd/client.go
+++ b/registry/servicediscovery/nacos/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -43,7 +42,6 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(5 * time.Second)
 
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
diff --git a/registry/servicediscovery/zookeeper/go-client/cmd/client.go b/registry/servicediscovery/zookeeper/go-client/cmd/client.go
index eceb95e..17078ae 100644
--- a/registry/servicediscovery/zookeeper/go-client/cmd/client.go
+++ b/registry/servicediscovery/zookeeper/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -43,7 +42,6 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
 
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
diff --git a/registry/zookeeper/go-client/cmd/client.go b/registry/zookeeper/go-client/cmd/client.go
index 88b7c39..f3731c2 100644
--- a/registry/zookeeper/go-client/cmd/client.go
+++ b/registry/zookeeper/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -44,7 +43,6 @@ func main() {
 	if err := config.Load(config.WithPath(path)); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
 
 	logger.Info("start to test dubbo")
 	req := &api.HelloRequest{
diff --git a/rpc/dubbo/go-client/cmd/client.go b/rpc/dubbo/go-client/cmd/client.go
index 832d8ed..5100720 100644
--- a/rpc/dubbo/go-client/cmd/client.go
+++ b/rpc/dubbo/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -48,8 +47,6 @@ func main() {
 
 	config.Load()
 
-	time.Sleep(6 * time.Second)
-
 	logger.Infof("\n\ntest")
 	test()
 }
diff --git a/rpc/grpc/go-client/cmd/client.go b/rpc/grpc/go-client/cmd/client.go
index afad682..0de5974 100644
--- a/rpc/grpc/go-client/cmd/client.go
+++ b/rpc/grpc/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -42,7 +41,6 @@ func init() {
 // need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
 func main() {
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	gxlog.CInfo("\n\n\nstart to test dubbo")
 	req := &pb.HelloRequest{
diff --git a/rpc/triple/codec-extension/go-client/cmd/client.go b/rpc/triple/codec-extension/go-client/cmd/client.go
index e11ed01..87d18aa 100644
--- a/rpc/triple/codec-extension/go-client/cmd/client.go
+++ b/rpc/triple/codec-extension/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -50,7 +49,7 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
+
 	user, err := userProvider.GetUser(context.TODO(), &User{Name: "laurence"}, &User{Name: "laurence2"}, "testName")
 	if err != nil {
 		panic(err)
diff --git a/rpc/triple/hessian2/go-client/cmd/client.go b/rpc/triple/hessian2/go-client/cmd/client.go
index 5516d1b..a11de48 100644
--- a/rpc/triple/hessian2/go-client/cmd/client.go
+++ b/rpc/triple/hessian2/go-client/cmd/client.go
@@ -21,7 +21,6 @@ import (
 	"context"
 	"encoding/json"
 	"os"
-	"time"
 )
 
 import (
@@ -46,7 +45,6 @@ func init() {
 // need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
 func main() {
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	gxlog.CInfo("\n\n\nstart to test dubbo")
 	testNormalService()
diff --git a/rpc/triple/msgpack/go-client/cmd/client.go b/rpc/triple/msgpack/go-client/cmd/client.go
index a563605..183afab 100644
--- a/rpc/triple/msgpack/go-client/cmd/client.go
+++ b/rpc/triple/msgpack/go-client/cmd/client.go
@@ -20,7 +20,6 @@ package main
 import (
 	"context"
 	"os"
-	"time"
 )
 
 import (
@@ -47,7 +46,6 @@ func init() {
 // need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run
 func main() {
 	config.Load()
-	time.Sleep(3 * time.Second)
 
 	gxlog.CInfo("\n\n\nstart to test dubbo")
 	user, err := userProvider.GetUser(context.TODO(), &api.User{Name: "laurence"})
diff --git a/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go b/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
index 1e2726e..288447a 100644
--- a/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
+++ b/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
@@ -19,7 +19,6 @@ package main
 
 import (
 	"context"
-	"time"
 )
 
 import (
@@ -45,7 +44,6 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(time.Second * 3)
 
 	stream()
 	unary()
diff --git a/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go b/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
index 6a52f37..8b76095 100644
--- a/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
+++ b/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
@@ -20,7 +20,6 @@ package main
 import (
 	"context"
 	"fmt"
-	"time"
 )
 
 import (
@@ -45,7 +44,6 @@ func main() {
 	if err := config.Load(); err != nil {
 		panic(err)
 	}
-	time.Sleep(3 * time.Second)
 
 	gxlog.CInfo("\n\n\nstart to test dubbo")
 	req := &pb.HelloRequest{