| package main |
| |
| import ( |
| "context" |
| "fmt" |
| "time" |
| ) |
| |
| import ( |
| hessian "github.com/apache/dubbo-go-hessian2" |
| "github.com/apache/dubbo-go/config" |
| ) |
| |
| 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) { |
| println("req:%#v", req) |
| rsp := User{"A001", "Alex Stocks", 18, time.Now()} |
| println("rsp:%#v", rsp) |
| return &rsp, nil |
| } |
| |
| func (u *UserProvider) Reference() string { |
| return "UserProvider" |
| } |
| |
| func (u User) JavaClassName() string { |
| return "com.ikurento.user.User" |
| } |
| |
| func println(format string, args ...interface{}) { |
| fmt.Printf("\033[32;40m"+format+"\033[0m\n", args...) |
| } |