diff --git a/examples/helloworld/dubbo/go-client/app/client.go b/examples/helloworld/dubbo/go-client/app/client.go index 4cb9de3bcdee72249474b38b5b3ab265fc316eec..b416edb5a9b77c2782af01de854bc0c40b4b00bb 100644 --- a/examples/helloworld/dubbo/go-client/app/client.go +++ b/examples/helloworld/dubbo/go-client/app/client.go @@ -20,14 +20,9 @@ package main import ( "context" "fmt" - "time" ) -import ( - "github.com/dubbogo/hessian2" -) - import ( _ "github.com/apache/dubbo-go/common/proxy/proxy_factory" "github.com/apache/dubbo-go/config" @@ -41,28 +36,19 @@ import ( _ "github.com/apache/dubbo-go/registry/zookeeper" ) -var ( - survivalTimeout int = 10e9 -) - // they are necessary: // export CONF_CONSUMER_FILE_PATH="xxx" // export APP_LOG_CONF_FILE="xxx" func main() { - hessian.RegisterPOJO(&User{}) config.Load() time.Sleep(3e9) println("\n\n\nstart to test dubbo") user := &User{} - err := userProvider.GetUser(context.TODO(), []interface{}{"A003"}, user) + err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user) if err != nil { panic(err) } - println("response result: %v", user) -} - -func println(format string, args ...interface{}) { - fmt.Printf("\033[32;40m"+format+"\033[0m\n", args...) + fmt.Printf("response result: %v\n", user) } diff --git a/examples/helloworld/dubbo/go-client/app/user.go b/examples/helloworld/dubbo/go-client/app/user.go index 4ebeed0695dac9a2266d3c291474743a7bd98849..e8efc863808213a4af42c17bdf27d151ebe3b7f0 100644 --- a/examples/helloworld/dubbo/go-client/app/user.go +++ b/examples/helloworld/dubbo/go-client/app/user.go @@ -19,7 +19,6 @@ package main import ( "context" - "fmt" "time" ) @@ -31,36 +30,20 @@ import ( "github.com/apache/dubbo-go/config" ) -type Gender hessian.JavaEnum - -var ( - userProvider = new(UserProvider) -) +var userProvider = new(UserProvider) func init() { config.SetConsumerService(userProvider) - + hessian.RegisterPOJO(&User{}) } type User struct { - // !!! Cannot define lowercase names of variable Id string Name string Age int32 Time time.Time } -func (u User) String() string { - return fmt.Sprintf( - "User{Id:%s, Name:%s, Age:%d, Time:%s}", - u.Id, u.Name, u.Age, u.Time, - ) -} - -func (User) JavaClassName() string { - return "com.ikurento.user.User" -} - type UserProvider struct { GetUser func(ctx context.Context, req []interface{}, rsp *User) error } @@ -68,3 +51,7 @@ type UserProvider struct { func (u *UserProvider) Reference() string { return "UserProvider" } + +func (User) JavaClassName() string { + return "com.ikurento.user.User" +} diff --git a/examples/helloworld/dubbo/go-client/profiles/dev/client.yml b/examples/helloworld/dubbo/go-client/profiles/dev/client.yml index f6f1a880fb6e03f4743e9643973c9b7ed4cf15cb..fed05b09734c41ef7b53ad2d88a953f997d50735 100644 --- a/examples/helloworld/dubbo/go-client/profiles/dev/client.yml +++ b/examples/helloworld/dubbo/go-client/profiles/dev/client.yml @@ -17,7 +17,7 @@ application_config: environment : "dev" registries : - "hangzhouzk": + "demoZk": protocol: "zookeeper" timeout : "3s" address: "127.0.0.1:2181" @@ -28,7 +28,7 @@ registries : references: "UserProvider": # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册 - registry: "hangzhouzk" + registry: "demoZk" protocol : "dubbo" interface : "com.ikurento.user.UserProvider" cluster: "failover" diff --git a/examples/helloworld/dubbo/go-server/app/server.go b/examples/helloworld/dubbo/go-server/app/server.go index b73f988fa2628d35a27622bf262f1a6052607c05..29f2ad57ead58c09614ccf5f7098c77612085449 100644 --- a/examples/helloworld/dubbo/go-server/app/server.go +++ b/examples/helloworld/dubbo/go-server/app/server.go @@ -25,10 +25,6 @@ import ( "time" ) -import ( - hessian "github.com/dubbogo/hessian2" -) - import ( "github.com/apache/dubbo-go/common/logger" "github.com/apache/dubbo-go/config" @@ -52,10 +48,6 @@ var ( // export APP_LOG_CONF_FILE="xxx" func main() { - // ------for hessian2------ - hessian.RegisterPOJO(&User{}) - // ------------ - config.Load() initSignal() diff --git a/examples/helloworld/dubbo/go-server/app/user.go b/examples/helloworld/dubbo/go-server/app/user.go index 08d6c4df9eff8f079b2a84890157c8bff7f0a90d..dbf84f263fdd477bf4a71d382e392e984b54823c 100644 --- a/examples/helloworld/dubbo/go-server/app/user.go +++ b/examples/helloworld/dubbo/go-server/app/user.go @@ -18,50 +18,42 @@ package main import ( - "fmt" + "context" "time" ) -type ( - User struct { - // !!! Cannot define lowercase names of variable - Id string - Name string - Age int32 - Time time.Time - } +import ( + "github.com/dubbogo/hessian2" ) -var ( - DefaultUser = User{ - Id: "0", Name: "Alex Stocks", Age: 31, - } - - userMap = make(map[string]User) +import ( + "github.com/apache/dubbo-go/config" ) func init() { - userMap["A000"] = DefaultUser - userMap["A001"] = User{Id: "001", Name: "ZhangSheng", Age: 18} - userMap["A002"] = User{Id: "002", Name: "Lily", Age: 20} - userMap["A003"] = User{Id: "113", Name: "Moorse", Age: 30} - for k, v := range userMap { - v.Time = time.Now() - userMap[k] = v - } + config.SetProviderService(new(UserProvider)) + // ------for hessian2------ + hessian.RegisterPOJO(&User{}) } -func (u User) String() string { - return fmt.Sprintf( - "User{Id:%s, Name:%s, Age:%d, Time:%s}", - u.Id, u.Name, u.Age, u.Time, - ) +type User struct { + Id string + Name string + Age int32 + Time time.Time } -func (u User) JavaClassName() string { - return "com.ikurento.user.User" +type UserProvider struct { } -func println(format string, args ...interface{}) { - fmt.Printf("\033[32;40m"+format+"\033[0m\n", args...) +func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) { + return &User{"A001", "Alex Stocks", 18, time.Now()}, nil +} + +func (u *UserProvider) Reference() string { + return "UserProvider" +} + +func (u User) JavaClassName() string { + return "com.ikurento.user.User" } diff --git a/examples/helloworld/dubbo/go-server/app/user_provider.go b/examples/helloworld/dubbo/go-server/app/user_provider.go deleted file mode 100644 index 747d36143ae5c4f515494fa46ab334c515f99576..0000000000000000000000000000000000000000 --- a/examples/helloworld/dubbo/go-server/app/user_provider.go +++ /dev/null @@ -1,44 +0,0 @@ -package main - -import ( - "context" - "fmt" -) - -import ( - "github.com/apache/dubbo-go/config" -) - -func init() { - config.SetProviderService(new(UserProvider)) -} - -type UserProvider struct { -} - -func (u *UserProvider) getUser(userId string) (*User, error) { - if user, ok := userMap[userId]; ok { - return &user, nil - } - - return nil, fmt.Errorf("invalid user id:%s", userId) -} - -func (u *UserProvider) GetUser(ctx context.Context, req []interface{}, rsp *User) error { - var ( - err error - user *User - ) - - println("req:%#v", req) - user, err = u.getUser(req[0].(string)) - if err == nil { - *rsp = *user - println("rsp:%#v", rsp) - } - return err -} - -func (u *UserProvider) Reference() string { - return "UserProvider" -} diff --git a/examples/helloworld/dubbo/go-server/profiles/dev/server.yml b/examples/helloworld/dubbo/go-server/profiles/dev/server.yml index 90bab2ce802b4e5f47c183f0a885dadce2cdf48e..be7eedeaa3fd186f4cd2ea264b31429165e55bf1 100644 --- a/examples/helloworld/dubbo/go-server/profiles/dev/server.yml +++ b/examples/helloworld/dubbo/go-server/profiles/dev/server.yml @@ -11,20 +11,15 @@ application_config: environment : "dev" registries : - "hangzhouzk": - # 对应java配置中address属性的zookeeper <dubbo:registry address="zookeeper://127.0.0.1:2181"/> + "demoZk": protocol: "zookeeper" timeout : "3s" address: "127.0.0.1:2181" - username: "" - password: "" - - services: "UserProvider": # 可以指定多个registry,使用逗号隔开;不指定默认向所有注册中心注册 - registry: "hangzhouzk" + registry: "demoZk" protocol : "dubbo" # 相当于dubbo.xml中的interface interface : "com.ikurento.user.UserProvider" @@ -36,11 +31,9 @@ services: retries: 1 loadbalance: "random" - protocols: - "dubbo1": + "dubbo": name: "dubbo" - # ip : "127.0.0.1" port: 20000 diff --git a/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java b/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java index 446c8fd69baec4d60cea24cd7a0bd0727b377e56..f3301cd642ca58a57ac5e2041ec5f958d383b7fb 100644 --- a/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java +++ b/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java @@ -4,8 +4,6 @@ package com.ikurento.user; public interface UserProvider { - - User GetUser(String userId); // the first alpha is Upper case to compatible with golang. } diff --git a/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java b/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java index bfa07a7a25d5547277cd8ad0d226c1bb3adb10ea..200f8926196bf16a5af6ce2aa71665b71d14e43e 100644 --- a/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java +++ b/examples/helloworld/dubbo/java-server/src/main/java/com/ikurento/user/UserProviderImpl.java @@ -8,7 +8,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UserProviderImpl implements UserProvider { - // private static final Logger logger = LoggerFactory.getLogger(getClass()); // 只输出到dubbo的log(logs/server.log) private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); // 输出到user-server.log Map<String, User> userMap = new HashMap<String, User>();