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]

Reply via email to