This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git
The following commit(s) were added to refs/heads/master by this push:
new 1d1b9c09 add injvm invoke server async test case (#448)
1d1b9c09 is described below
commit 1d1b9c091662a95d4087c30ae6dc2b30449987d4
Author: Albumen Kevin <[email protected]>
AuthorDate: Fri Jul 15 12:45:01 2022 +0800
add injvm invoke server async test case (#448)
---
.../org/apache/dubbo/samples/local/api/DemoService.java | 2 ++
.../apache/dubbo/samples/local/impl/DemoServiceImpl.java | 16 ++++++++++++++++
.../org/apache/dubbo/samples/local/DemoServiceIT.java | 4 ++++
3 files changed, 22 insertions(+)
diff --git
a/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/api/DemoService.java
b/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/api/DemoService.java
index f3ecdbb8..7492773e 100644
---
a/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/api/DemoService.java
+++
b/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/api/DemoService.java
@@ -23,4 +23,6 @@ public interface DemoService {
String sayHello(String name);
+ String sayHelloAsync(String name);
+
}
diff --git
a/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/impl/DemoServiceImpl.java
b/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/impl/DemoServiceImpl.java
index 19f2376b..da897ca7 100644
---
a/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/impl/DemoServiceImpl.java
+++
b/dubbo-samples-local/src/main/java/org/apache/dubbo/samples/local/impl/DemoServiceImpl.java
@@ -19,7 +19,9 @@
package org.apache.dubbo.samples.local.impl;
+import org.apache.dubbo.rpc.AsyncContext;
import org.apache.dubbo.rpc.RpcContext;
+import org.apache.dubbo.rpc.RpcServiceContext;
import org.apache.dubbo.samples.local.api.DemoService;
import java.text.SimpleDateFormat;
@@ -33,4 +35,18 @@ public class DemoServiceImpl implements DemoService {
return "Hello " + name + ", response from provider: " +
RpcContext.getContext().getLocalAddress();
}
+ @Override
+ public String sayHelloAsync(String name) {
+ AsyncContext asyncContext = RpcServiceContext.startAsync();
+ new Thread(() -> {
+ asyncContext.signalContextSwitch();
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException ignore) {
+
+ }
+ asyncContext.write(sayHello(name));
+ }).start();
+ return null;
+ }
}
diff --git
a/dubbo-samples-local/src/test/java/org/apache/dubbo/samples/local/DemoServiceIT.java
b/dubbo-samples-local/src/test/java/org/apache/dubbo/samples/local/DemoServiceIT.java
index 61479afd..a865062d 100644
---
a/dubbo-samples-local/src/test/java/org/apache/dubbo/samples/local/DemoServiceIT.java
+++
b/dubbo-samples-local/src/test/java/org/apache/dubbo/samples/local/DemoServiceIT.java
@@ -44,6 +44,10 @@ public class DemoServiceIT {
// InjvmInvoker set remote address to 127.0.0.1:0
String result = demoService.sayHello("world");
Assert.assertEquals(result, "Hello world, response from provider:
127.0.0.1:0");
+
+ result = demoService.sayHelloAsync("world");
+ Assert.assertEquals(result, "Hello world, response from provider:
127.0.0.1:0");
+
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]