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/11/30 06:02:07 UTC

[dubbo-go-samples] branch master updated: Fix generic default (#302)

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

zhaoyunxing 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 98e02ef  Fix generic default (#302)
98e02ef is described below

commit 98e02effad3968d1b250ca9ac3f631e954bc612b
Author: Yuecai Liu <38...@users.noreply.github.com>
AuthorDate: Tue Nov 30 14:01:59 2021 +0800

    Fix generic default (#302)
    
    * to make the go and java programs interoperate
    
    * fix genericDefault
    
    * rename package
---
 generic/default/go-client/cmd/client.go            |  7 ++-
 generic/default/go-client/pkg/user.go              |  2 +-
 generic/default/go-server/pkg/user.go              |  2 +-
 generic/default/go-server/pkg/user_response.go     |  2 +-
 generic/default/java-client/run.sh                 |  2 +-
 .../apache/dubbo/{ => samples}/ApiConsumer.java    | 54 ++++++++++++++++------
 .../java/org/apache/dubbo/{ => samples}/User.java  |  2 +-
 generic/default/java-server/run.sh                 |  2 +-
 .../apache/dubbo/{ => samples}/ApiProvider.java    | 29 ++++++++----
 .../org/apache/dubbo/{ => samples}/Gender.java     |  2 +-
 .../org/apache/dubbo/{ => samples}/Response.java   |  2 +-
 .../java/org/apache/dubbo/{ => samples}/User.java  |  2 +-
 .../apache/dubbo/{ => samples}/UserProvider.java   |  2 +-
 .../dubbo/{ => samples}/UserProviderImpl.java      |  2 +-
 .../apache/dubbo/samples/UserProviderTriple.java   | 39 ++++++++++++++++
 .../UserProviderTripleImpl.java}                   |  6 +--
 .../default/tests/integration/userprovider_test.go | 14 +++---
 17 files changed, 125 insertions(+), 46 deletions(-)

diff --git a/generic/default/go-client/cmd/client.go b/generic/default/go-client/cmd/client.go
index 0416c25..bbb14a3 100644
--- a/generic/default/go-client/cmd/client.go
+++ b/generic/default/go-client/cmd/client.go
@@ -47,7 +47,6 @@ func main() {
 
 	// generic invocation samples using hessian serialization on Dubbo protocol
 	dubboRefConf := newRefConf("org.apache.dubbo.samples.UserProvider", dubbo.DUBBO)
-
 	callGetUser(dubboRefConf)
 	//callGetOneUser(dubboRefConf)
 	callGetUsers(dubboRefConf)
@@ -168,7 +167,7 @@ func callQueryUser(refConf config.ReferenceConfig) {
 	resp, err := refConf.GetRPCService().(*generic.GenericService).Invoke(
 		context.TODO(),
 		"queryUser",
-		[]string{"org.apache.dubbo.User"},
+		[]string{"org.apache.dubbo.samples.User"},
 		// the map represents a User object:
 		// &User {
 		// 		ID: "3213",
@@ -202,14 +201,14 @@ func callQueryUsers(refConf config.ReferenceConfig) {
 					"name":  "XavierNiu",
 					"age":   24,
 					"time":  time.Now().Add(4),
-					"class": "org.apache.dubbo.User",
+					"class": "org.apache.dubbo.samples.User",
 				},
 				map[string]hessian.Object{
 					"iD":    "3213",
 					"name":  "zhangsan",
 					"age":   21,
 					"time":  time.Now().Add(4),
-					"class": "org.apache.dubbo.User",
+					"class": "org.apache.dubbo.samples.User",
 				},
 			},
 		},
diff --git a/generic/default/go-client/pkg/user.go b/generic/default/go-client/pkg/user.go
index 780c4f3..b7ed2dc 100644
--- a/generic/default/go-client/pkg/user.go
+++ b/generic/default/go-client/pkg/user.go
@@ -29,5 +29,5 @@ type User struct {
 }
 
 func (u *User) JavaClassName() string {
-	return "org.apache.dubbo.User"
+	return "org.apache.dubbo.samples.User"
 }
diff --git a/generic/default/go-server/pkg/user.go b/generic/default/go-server/pkg/user.go
index 184f548..9128b71 100644
--- a/generic/default/go-server/pkg/user.go
+++ b/generic/default/go-server/pkg/user.go
@@ -36,5 +36,5 @@ type User struct {
 }
 
 func (u *User) JavaClassName() string {
-	return "org.apache.dubbo.User"
+	return "org.apache.dubbo.samples.User"
 }
diff --git a/generic/default/go-server/pkg/user_response.go b/generic/default/go-server/pkg/user_response.go
index 1288e8f..3d7a3c9 100644
--- a/generic/default/go-server/pkg/user_response.go
+++ b/generic/default/go-server/pkg/user_response.go
@@ -22,5 +22,5 @@ type UserResponse struct {
 }
 
 func (u *UserResponse) JavaClassName() string {
-	return "org.apache.dubbo.UserResponse"
+	return "org.apache.dubbo.samples.UserResponse"
 }
diff --git a/generic/default/java-client/run.sh b/generic/default/java-client/run.sh
old mode 100644
new mode 100755
index 6eac45d..712bf57
--- a/generic/default/java-client/run.sh
+++ b/generic/default/java-client/run.sh
@@ -1 +1 @@
-mvn -e clean compile exec:java -Dexec.mainClass="org.apache.dubbo.ApiConsumer"
\ No newline at end of file
+mvn -e clean compile exec:java -Dexec.mainClass="org.apache.dubbo.samples.ApiConsumer"
\ No newline at end of file
diff --git a/generic/default/java-client/src/main/java/org/apache/dubbo/ApiConsumer.java b/generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java
similarity index 80%
rename from generic/default/java-client/src/main/java/org/apache/dubbo/ApiConsumer.java
rename to generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java
index 5a45d5d..7b6c62e 100644
--- a/generic/default/java-client/src/main/java/org/apache/dubbo/ApiConsumer.java
+++ b/generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
+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;
@@ -34,21 +35,36 @@ import java.lang.Integer;
 public class ApiConsumer {
     private static final Logger logger = LoggerFactory.getLogger("userLogger"); // Output to com.dubbogo.user-server.log
 
+    private static GenericService userProvider;
+    private static GenericService userProviderTriple;
     private static GenericService genericService;
 
     public static void main(String[] args) {
-        initConfig();
+        initUserProvider();
+        initUserProviderTriple();
+        
+        genericService = userProvider;
+        call();
+        
+        genericService = userProviderTriple;
+        call();
+    }
 
-        callGetUser();
-        callGetOneUser();
-        callGetUsers();
-        callGetUsersMap();
-        callQueryUser();
-        callQueryUsers();
-        callQueryAll();
+    private static void initUserProvider() {
+        logger.info("\n\n\nstart to init config\n\n\n");
+        ApplicationConfig applicationConfig = new ApplicationConfig();
+        ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>();
+        applicationConfig.setName("user-info-server");
+        reference.setApplication(applicationConfig);
+        RegistryConfig registryConfig = new RegistryConfig();
+        registryConfig.setAddress("zookeeper://127.0.0.1:2181");
+        reference.setRegistry(registryConfig);
+        reference.setGeneric(true);
+        reference.setInterface("org.apache.dubbo.samples.UserProvider");
+        userProvider = reference.get();
     }
 
-    private static void initConfig() {
+    private static void initUserProviderTriple() {
         logger.info("\n\n\nstart to init config\n\n\n");
         ApplicationConfig applicationConfig = new ApplicationConfig();
         ReferenceConfig<GenericService> reference = new ReferenceConfig<GenericService>();
@@ -57,9 +73,21 @@ public class ApiConsumer {
         RegistryConfig registryConfig = new RegistryConfig();
         registryConfig.setAddress("zookeeper://127.0.0.1:2181");
         reference.setRegistry(registryConfig);
+        reference.setProtocol(CommonConstants.TRIPLE);
+        reference.setCheck(false);
         reference.setGeneric(true);
-        reference.setInterface("org.apache.dubbo.UserProvider");
-        genericService = reference.get();
+        reference.setInterface("org.apache.dubbo.samples.UserProviderTriple");
+        userProviderTriple = reference.get();
+    }
+    
+    public static void call() {
+        callGetUser();
+        callGetOneUser();
+        callGetUsers();
+        callGetUsersMap();
+        callQueryUser();
+        callQueryUsers();
+        callQueryAll();
     }
 
     private static void callGetUser() {
@@ -125,7 +153,7 @@ public class ApiConsumer {
         user.setName("panty");
         user.setId("3213");
         user.setAge(25);
-        Object result = genericService.$invoke("queryUser", new String[]{"org.apache.dubbo.User"}, new Object[]{user});
+        Object result = genericService.$invoke("queryUser", new String[]{"org.apache.dubbo.samples.User"}, new Object[]{user});
         logger.info("\n\n\n" + "queryUser(User user) " + "res: " + result + "\n\n\n");
     }
 
diff --git a/generic/default/java-client/src/main/java/org/apache/dubbo/User.java b/generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java
similarity index 97%
rename from generic/default/java-client/src/main/java/org/apache/dubbo/User.java
rename to generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java
index 8c42b59..b98af58 100644
--- a/generic/default/java-client/src/main/java/org/apache/dubbo/User.java
+++ b/generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 import java.util.Date;
 import java.io.Serializable;
diff --git a/generic/default/java-server/run.sh b/generic/default/java-server/run.sh
old mode 100644
new mode 100755
index 7fbe2f2..e2b4e7e
--- a/generic/default/java-server/run.sh
+++ b/generic/default/java-server/run.sh
@@ -1 +1 @@
-mvn -e clean compile exec:java -Dexec.mainClass="org.apache.dubbo.ApiProvider"
\ No newline at end of file
+mvn -e clean compile exec:java -Dexec.mainClass="org.apache.dubbo.samples.ApiProvider"
\ No newline at end of file
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/ApiProvider.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java
similarity index 68%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/ApiProvider.java
rename to generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java
index 1d620a4..bc5a916 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/ApiProvider.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java
@@ -15,26 +15,39 @@
  *  limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 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 org.apache.dubbo.config.*;
 
 import java.util.concurrent.CountDownLatch;
 
 public class ApiProvider {
     public static void main(String[] args) throws InterruptedException {
+        exportUserProvider();
+        exportUserProviderTriple();
+        System.out.println("dubbo service started");
+        new CountDownLatch(1).await();
+    }
+    
+    public static void exportUserProvider() {
         ServiceConfig<UserProvider> service = new ServiceConfig<UserProvider>();
         service.setInterface(UserProvider.class);
         service.setRef(new UserProviderImpl());
-        service.setProtocol(new ProtocolConfig(CommonConstants.DUBBO, 20010));
+        service.setProtocol(new ProtocolConfig(CommonConstants.DUBBO, 20000));
+        service.setApplication(new ApplicationConfig("user-info-server"));
+        service.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
+        service.export();
+    }
+
+    public static void exportUserProviderTriple() {
+        ServiceConfig<UserProviderTriple> service = new ServiceConfig<UserProviderTriple>();
+        service.setInterface(UserProviderTriple.class);
+        service.setRef(new UserProviderTripleImpl());
+        service.setProtocol(new ProtocolConfig(CommonConstants.TRIPLE, 50051));
+        service.setSerialization("hessian2");
         service.setApplication(new ApplicationConfig("user-info-server"));
         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/generic/default/java-server/src/main/java/org/apache/dubbo/Gender.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java
similarity index 96%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/Gender.java
rename to generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java
index 71b6df0..a0383fb 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/Gender.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 public enum Gender {
     MAN,
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/Response.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java
similarity index 98%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/Response.java
rename to generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java
index a8196c6..8d2cf80 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/Response.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 import java.io.Serializable;
 
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/User.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java
similarity index 98%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/User.java
rename to generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java
index 8844eec..4b2f179 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/User.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 import java.io.Serializable;
 import java.util.Date;
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/UserProvider.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java
similarity index 97%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/UserProvider.java
rename to generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java
index d23475b..d3df82a 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/UserProvider.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java
similarity index 99%
copy from generic/default/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
copy to generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java
index e50074b..6c2f5a4 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java
new file mode 100644
index 0000000..f9e4ce3
--- /dev/null
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java
@@ -0,0 +1,39 @@
+package org.apache.dubbo.samples;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by liuyuecai on 2021/11/23.
+ */
+public interface UserProviderTriple {
+
+    boolean isLimit(Gender gender, String name);
+
+    User GetUser1(String userId); // the first alpha is Upper case to compatible with golang.
+
+    User GetUser2(String userId, String name);
+
+    User GetUser3(int userCode);
+
+    User GetUser4(int userCode, String name);
+
+    User GetOneUser();
+
+    List<User> GetUsers(List<String> userIdList);
+
+    Map<String, User> GetUsersMap(List<String> userIdList);
+
+    User queryUser(User user);
+
+    List<User> queryUsers(ArrayList<User> userObjectList);
+
+    Map<String, User> queryAll();
+
+    User GetErr(String userId) throws Exception;
+
+    int Calc(int a, int b);
+
+    Response<Integer> Sum(int a, int b);
+}
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java
similarity index 97%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
rename to generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java
index e50074b..8be1908 100644
--- a/generic/default/java-server/src/main/java/org/apache/dubbo/UserProviderImpl.java
+++ b/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java
@@ -15,19 +15,19 @@
  * limitations under the License.
  */
 
-package org.apache.dubbo;
+package org.apache.dubbo.samples;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.util.*;
 
-public class UserProviderImpl implements UserProvider {
+public class UserProviderTripleImpl implements UserProviderTriple {
     // 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
     private Map<String, User> userMap = new HashMap<String, User>();
 
-    UserProviderImpl() {
+    UserProviderTripleImpl() {
         userMap.put("001", new User("001", "other-zhangsan", 18, new Date(1998, 1, 2, 3, 4, 5), Gender.MAN));
         userMap.put("002", new User("002", "other-lisi", 20, new Date(1996, 1, 2, 3, 4, 5), Gender.MAN));
         userMap.put("003", new User("003", "other-lily", 23, new Date(1993, 1, 2, 3, 4, 5), Gender.WOMAN));
diff --git a/integrate_test/generic/default/tests/integration/userprovider_test.go b/integrate_test/generic/default/tests/integration/userprovider_test.go
index 0ce0103..532cd5a 100644
--- a/integrate_test/generic/default/tests/integration/userprovider_test.go
+++ b/integrate_test/generic/default/tests/integration/userprovider_test.go
@@ -203,7 +203,7 @@ func TestQueryUser(t *testing.T) {
 	o, err := dubboRefConf.GetRPCService().(*generic.GenericService).Invoke(
 		context.TODO(),
 		"queryUser",
-		[]string{"org.apache.dubbo.User"},
+		[]string{"org.apache.dubbo.samples.User"},
 		[]hessian.Object{map[string]hessian.Object{
 			"iD":   "3213",
 			"name": "panty",
@@ -222,7 +222,7 @@ func TestQueryUser(t *testing.T) {
 	o, err = tripleRefConf.GetRPCService().(*generic.GenericService).Invoke(
 		context.TODO(),
 		"queryUser",
-		[]string{"org.apache.dubbo.User"},
+		[]string{"org.apache.dubbo.samples.User"},
 		[]hessian.Object{map[string]hessian.Object{
 			"iD":   "3213",
 			"name": "panty",
@@ -251,14 +251,14 @@ func TestQueryUsers(t *testing.T) {
 					"name":  "XavierNiu",
 					"age":   24,
 					"time":  time.Now(),
-					"class": "org.apache.dubbo.User",
+					"class": "org.apache.dubbo.samples.User",
 				},
 				map[string]hessian.Object{
 					"iD":    "3213",
 					"name":  "zhangsan",
 					"age":   21,
 					"time":  time.Now(),
-					"class": "org.apache.dubbo.User",
+					"class": "org.apache.dubbo.samples.User",
 				},
 			},
 		},
@@ -273,7 +273,7 @@ func TestQueryUsers(t *testing.T) {
 	o, err = tripleRefConf.GetRPCService().(*generic.GenericService).Invoke(
 		context.TODO(),
 		"queryUsers",
-		[]string{"org.apache.dubbo.User"},
+		[]string{"org.apache.dubbo.samples.User"},
 		[]hessian.Object{
 			[]hessian.Object{
 				map[string]hessian.Object{
@@ -281,14 +281,14 @@ func TestQueryUsers(t *testing.T) {
 					"name":  "XavierNiu",
 					"age":   24,
 					"time":  time.Now(),
-					"class": "org.apache.dubbo.User",
+					"class": "org.apache.dubbo.samples.User",
 				},
 				map[string]hessian.Object{
 					"iD":    "3213",
 					"name":  "zhangsan",
 					"age":   21,
 					"time":  time.Now(),
-					"class": "org.apache.dubbo.User",
+					"class": "org.apache.dubbo.samples.User",
 				},
 			},
 		},