This is an automated email from the ASF dual-hosted git repository.
alexstocks 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 a08823b Fix tpc triple hessian2 (#304)
a08823b is described below
commit a08823b310e5c043670050116ca93bd08a4001aa
Author: Yuecai Liu <[email protected]>
AuthorDate: Tue Nov 30 13:24:43 2021 +0800
Fix tpc triple hessian2 (#304)
* make go and java communicated
* change dubbo version to 3.0.3
* delete unsed code
* remove unused code
Co-authored-by: liuyuecai <[email protected]>
---
.../hessian2/go-server/cmd/complex_service.go | 2 +-
rpc/triple/hessian2/java-client/pom.xml | 2 +-
rpc/triple/hessian2/java-client/run.sh | 0
.../com/apache/dubbo/sample/basic/ApiConsumer.java | 56 ++++++++++------------
.../com/apache/dubbo/sample/basic/ComplexData.java | 22 ++++++++-
.../com/apache/dubbo/sample/basic/IGreeter.java | 3 +-
rpc/triple/hessian2/java-server/pom.xml | 2 +-
.../com/apache/dubbo/sample/basic/ApiProvider.java | 20 +++++++-
.../apache/dubbo/sample/basic/ComplexProvider.java | 1 +
.../dubbo/sample/basic/ComplexProviderImpl.java | 6 +++
.../com/apache/dubbo/sample/basic/IGreeter.java | 3 +-
.../{IGreeter1Impl.java => IGreeterImpl.java} | 13 +++--
12 files changed, 81 insertions(+), 49 deletions(-)
diff --git a/rpc/triple/hessian2/go-server/cmd/complex_service.go
b/rpc/triple/hessian2/go-server/cmd/complex_service.go
index daa6e8d..5fb06e4 100644
--- a/rpc/triple/hessian2/go-server/cmd/complex_service.go
+++ b/rpc/triple/hessian2/go-server/cmd/complex_service.go
@@ -75,7 +75,7 @@ func (u *ComplexData) JavaClassName() string {
type ComplexProvider struct {
}
-func (u *ComplexProvider) InvokeWithMultiBasicData(ctx context.Context, str
string, data []byte, num int, boolValue bool) (int, error) {
+func (u *ComplexProvider) InvokeWithMultiBasicData(ctx context.Context, str
string, data []byte, num int32, boolValue bool) (int32, error) {
logger.Info("InvokeWithMultiBasicData", str, " ", data, " ", num, " ",
boolValue)
return num, nil
}
diff --git a/rpc/triple/hessian2/java-client/pom.xml
b/rpc/triple/hessian2/java-client/pom.xml
index aff1e73..5d10a0a 100644
--- a/rpc/triple/hessian2/java-client/pom.xml
+++ b/rpc/triple/hessian2/java-client/pom.xml
@@ -27,7 +27,7 @@
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <dubbo.version>3.0.2</dubbo.version>
+ <dubbo.version>3.0.3</dubbo.version>
<junit.version>4.12</junit.version>
<spring-test.version>4.3.16.RELEASE</spring-test.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
diff --git a/rpc/triple/hessian2/java-client/run.sh
b/rpc/triple/hessian2/java-client/run.sh
old mode 100644
new mode 100755
diff --git
a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
b/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
index 2dc8cad..a8e54e2 100644
---
a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
+++
b/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
@@ -21,13 +21,9 @@ 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;
-import org.apache.dubbo.sample.hello.Helloworld;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
public class ApiConsumer {
public static void main(String[] args) throws InterruptedException,
IOException {
@@ -42,38 +38,34 @@ public class ApiConsumer {
ref.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
final ComplexProvider complexProvider = ref.get();
-// complexProvider.invokeWithEmptyReq();
-// complexProvider.invokeWithSingleString("single string");
-// complexProvider.invokeWithMultiString("string1", "string2",
"string3");
-// String [] strList = new String []{"first string"," second string"};
-// complexProvider.invokeWithStringList(strList );
-// String rsp = complexProvider.invokeWithEmptyReqStringRsp();
-// System.out.println("get rsp = "+ rsp);
+ complexProvider.invokeWithEmptyReq();
+ complexProvider.invokeWithSingleString("single string");
+ complexProvider.invokeWithMultiString("string1", "string2", "string3");
+ String[] strList = new String[]{"first string", " second string"};
+ complexProvider.invokeWithStringList(strList);
+ String rsp = complexProvider.invokeWithEmptyReqStringRsp();
+ System.out.println("get rsp = " + rsp);
-
- ComplexData cpxData = new ComplexData();
- cpxData.booleanData = true;
- cpxData.stringData = "test string";
- cpxData.byteData = new byte[] {1, 12, 4, 3, 3,3};
- cpxData.int16Data =16;
- cpxData.intData = 32;
- cpxData.int64Data = 64;
- cpxData.arrayListData = new String[]{"array1", "array2"};
-// cpxData.arrayUserData = new User[]{new User(), new User(), new
User()};
+ ComplexData cpxData = new ComplexData();
+ cpxData.booleanData = true;
+ cpxData.stringData = "test string";
+ cpxData.byteData = new byte[]{1, 12, 4, 3, 3, 3};
+ cpxData.int16Data = 16;
+ cpxData.intData = 32;
+ cpxData.int64Data = 64;
+ cpxData.arrayListData = new String[]{"array1", "array2"};
+ cpxData.arrayUserData = new User[]{new User(), new User(), new User()};
cpxData.userDefinedData = new User();
cpxData.userDefinedData.age = 18;
cpxData.userDefinedData.id = "iojfioj";
- cpxData.stringStringHashMap = new HashMap<>();
-// cpxData.stringStringHashMap.put("key1", "value");
-// cpxData.stringStringHashMap.put("key2", "value");
-// cpxData.stringUserDefinedPtrMapData = new HashMap<>();
-// cpxData.stringUserDefinedPtrMapData.put("key1", new User());
-// cpxData.stringUserDefinedPtrMapData.put("key2", new User());
-
-// ComplexData response =
complexProvider.invokeWithComplexReqComplexRspPtr(cpxData);
-// System.out.println("get complex = "+ response);
+ cpxData.stringUserDefinedPtrMapData = new HashMap<>();
+ cpxData.stringUserDefinedPtrMapData.put("key1", new User());
+ cpxData.stringUserDefinedPtrMapData.put("key2", new User());
- int rsp = complexProvider.invokeWithMultiBasicData("str",new byte[]{1,
3, 4,6,7}, 32, true);
- System.out.println("get multi basic rsp = "+ rsp);
+ ComplexData response =
complexProvider.invokeWithComplexReqComplexRspPtr(cpxData);
+ System.out.println("get complex = " + response);
+ // todo hessian2's bug,not support basic return value yet
+// int rsp1 = complexProvider.invokeWithMultiBasicData("str", new
byte[]{1, 3, 4, 44, 7}, 32, true);
+// System.out.println("get multi basic rsp = " + rsp1);
}
}
diff --git
a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
b/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
index c3b51d1..caac37a 100644
---
a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
+++
b/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
@@ -1,7 +1,9 @@
package com.apache.dubbo.sample.basic;
import java.io.Serializable;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.StringJoiner;
public class ComplexData implements Serializable {
boolean booleanData;
@@ -14,8 +16,24 @@ public class ComplexData implements Serializable {
User userDefinedData;
byte [] byteData;
HashMap<String, String> stringStringHashMap;
-// HashMap<String, User> stringUserDefinedPtrMapData;
+ HashMap<String, User> stringUserDefinedPtrMapData;
String[] arrayListData;
-// User[] arrayUserData;
+ User[] arrayUserData;
+ @Override
+ public String toString() {
+ return new StringJoiner(", ", ComplexData.class.getSimpleName() + "[",
"]")
+ .add("booleanData=" + booleanData)
+ .add("stringData='" + stringData + "'")
+ .add("int16Data=" + int16Data)
+ .add("intData=" + intData)
+ .add("int64Data=" + int64Data)
+ .add("userDefinedData=" + userDefinedData)
+ .add("byteData=" + Arrays.toString(byteData))
+ .add("stringStringHashMap=" + stringStringHashMap)
+ .add("stringUserDefinedPtrMapData=" +
stringUserDefinedPtrMapData)
+ .add("arrayListData=" + Arrays.toString(arrayListData))
+ .add("arrayUserData=" + Arrays.toString(arrayUserData))
+ .toString();
+ }
}
diff --git
a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
b/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
index 1c6f637..324cdee 100644
---
a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
+++
b/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
@@ -25,6 +25,5 @@ public interface IGreeter {
* Sends a greeting
* </pre>
*/
- User getUser(String request);
-
+ User getUser(User request);
}
diff --git a/rpc/triple/hessian2/java-server/pom.xml
b/rpc/triple/hessian2/java-server/pom.xml
index 82f616d..e94289d 100644
--- a/rpc/triple/hessian2/java-server/pom.xml
+++ b/rpc/triple/hessian2/java-server/pom.xml
@@ -29,7 +29,7 @@
<properties>
<source.level>1.8</source.level>
<target.level>1.8</target.level>
- <dubbo.version>3.0.0-ding-SNAPSHOT</dubbo.version>
+ <dubbo.version>3.0.2</dubbo.version>
<junit.version>4.12</junit.version>
<spring-test.version>4.3.16.RELEASE</spring-test.version>
<maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
diff --git
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
index fcd180c..29a9fed 100644
---
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
+++
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
@@ -22,10 +22,18 @@ 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 java.util.concurrent.CountDownLatch;
public class ApiProvider {
+
public static void main(String[] args) throws InterruptedException {
+ startComplexProvider();
+ startIGreeterService();
+ new CountDownLatch(1).await();
+ }
+
+ public static void startComplexProvider() {
ServiceConfig<ComplexProvider> service = new ServiceConfig<>();
service.setInterface(ComplexProvider.class);
service.setRef(new ComplexProviderImpl());
@@ -34,6 +42,16 @@ public class ApiProvider {
service.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
service.export();
System.out.println("dubbo service started");
- new CountDownLatch(1).await();
+ }
+
+ public static void startIGreeterService() {
+ ServiceConfig<IGreeter> service = new ServiceConfig<>();
+ service.setInterface(IGreeter.class);
+ service.setRef(new IGreeterImpl());
+ service.setProtocol(new ProtocolConfig(CommonConstants.TRIPLE, 50052));
+ service.setApplication(new ApplicationConfig("demo-provider"));
+ service.setRegistry(new RegistryConfig("zookeeper://127.0.0.1:2181"));
+ service.export();
+ System.out.println("dubbo service started");
}
}
diff --git
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
index a1965dd..c486e89 100644
---
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
+++
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
@@ -7,4 +7,5 @@ public interface ComplexProvider {
void invokeWithMultiString(String str1, String str2, String str3);
String invokeWithEmptyReqStringRsp ();
ComplexData invokeWithComplexReqComplexRspPtr(ComplexData complexData);
+ int invokeWithMultiBasicData (String str, byte[]data, int num, boolean
boolValue);
}
diff --git
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
index 79106cd..69e042d 100644
---
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
+++
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
@@ -32,4 +32,10 @@ public class ComplexProviderImpl implements ComplexProvider {
System.out.println("invokeWithComplexReqComplexRspPtr = "+
complexData.GetString());
return complexData;
}
+
+ @Override
+ public int invokeWithMultiBasicData(String str, byte[] data, int num,
boolean boolValue) {
+ System.out.println("invokeWithEmptyReq" + str + data + num +
boolValue);
+ return num;
+ }
}
diff --git
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
index 3c7b561..0c52dbe 100644
---
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
+++
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
@@ -24,6 +24,5 @@ public interface IGreeter {
* Sends a greeting
* </pre>
*/
- User getUser(String request);
-
+ User getUser(User request);
}
diff --git
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java
similarity index 80%
rename from
rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
rename to
rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java
index 62371d8..0721ccd 100644
---
a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter1Impl.java
+++
b/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java
@@ -18,14 +18,13 @@
package com.apache.dubbo.sample.basic;
-public class IGreeter1Impl implements IGreeter {
+public class IGreeterImpl implements IGreeter {
@Override
- public User getUser(String request) {
+ public User getUser(User request) {
System.out.println("receiv: " + request);
- User usr = new User();
- usr.age = 19;
- usr.name = "hello" + request;
- usr.id = "23";
- return usr;
+ request.age = 18;
+ request.name = "Hello, " + request.name;
+ request.id = "12345";
+ return request;
}
}