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",
},
},
},