You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@dubbo.apache.org by li...@apache.org on 2019/01/02 12:25:13 UTC
[incubator-dubbo-samples] 01/03: rewrite async sample
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch samples-for-2.7.0-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-samples.git
commit 8660a3f80081d27975d7387f48c055b64351f9e1
Author: ken.lj <ke...@gmail.com>
AuthorDate: Wed Jan 2 19:52:20 2019 +0800
rewrite async sample
---
dubbo-samples-api/pom.xml | 17 +++++++++--------
.../org/apache/dubbo/samples/api/GreetingsService.java | 10 +++++++---
.../apache/dubbo/samples/governance/AsyncConsumer.java | 9 ++++++---
.../main/resources/META-INF/spring/async-consumer.xml | 3 +--
.../governance/filter/AsyncPostprocessFilter.java | 8 ++++----
5 files changed, 27 insertions(+), 20 deletions(-)
diff --git a/dubbo-samples-api/pom.xml b/dubbo-samples-api/pom.xml
index d343e93..6d9900e 100644
--- a/dubbo-samples-api/pom.xml
+++ b/dubbo-samples-api/pom.xml
@@ -32,7 +32,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-async-processer</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.0</version>
</dependency>
</dependencies>
@@ -57,13 +57,14 @@
<configuration>
<source>1.8</source>
<target>1.8</target>
- <annotationProcessorPaths>
- <path>
- <groupId>com.alibaba</groupId>
- <artifactId>dubbo-async-processer</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </path>
- </annotationProcessorPaths>
+ <!-- should be obsoleted -->
+ <!--<annotationProcessorPaths>-->
+ <!--<path>-->
+ <!--<groupId>com.alibaba</groupId>-->
+ <!--<artifactId>dubbo-async-processer</artifactId>-->
+ <!--<version>1.0.0-SNAPSHOT</version>-->
+ <!--</path>-->
+ <!--</annotationProcessorPaths>-->
</configuration>
</plugin>
</plugins>
diff --git a/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java b/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java
index 5d21f1d..cb002f5 100644
--- a/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java
+++ b/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java
@@ -1,4 +1,3 @@
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -18,9 +17,14 @@
package org.apache.dubbo.samples.api;
-import com.alibaba.dubbo.config.async.DubboAsync;
+import com.alibaba.dubbo.config.async.AsyncSignal;
+
+import java.util.concurrent.CompletableFuture;
-@DubboAsync
public interface GreetingsService {
String sayHi(String name);
+
+ default CompletableFuture<String> sayHi(String name, AsyncSignal signal) {
+ return CompletableFuture.completedFuture(sayHi(name));
+ }
}
diff --git a/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/java/org/apache/dubbo/samples/governance/AsyncConsumer.java b/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/java/org/apache/dubbo/samples/governance/AsyncConsumer.java
index 7198a88..84359b0 100644
--- a/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/java/org/apache/dubbo/samples/governance/AsyncConsumer.java
+++ b/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/java/org/apache/dubbo/samples/governance/AsyncConsumer.java
@@ -19,7 +19,10 @@
package org.apache.dubbo.samples.governance;
-import org.apache.dubbo.samples.api.GreetingsServiceAsync;
+import org.apache.dubbo.samples.api.GreetingsService;
+
+import com.alibaba.dubbo.config.async.AsyncSignal;
+
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.concurrent.CompletableFuture;
@@ -33,9 +36,9 @@ public class AsyncConsumer {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/async-consumer.xml"});
context.start();
- final GreetingsServiceAsync greetingsService = (GreetingsServiceAsync) context.getBean("greetingsService");
+ final GreetingsService greetingsService = (GreetingsService) context.getBean("greetingsService");
- CompletableFuture<String> future = greetingsService.sayHiAsync("async call reqeust");
+ CompletableFuture<String> future = greetingsService.sayHi("async call reqeust", AsyncSignal.SIGNAL);
System.out.println("async call ret :" + future.get());
System.out.println(greetingsService.sayHi("normal sync call request"));
diff --git a/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/resources/META-INF/spring/async-consumer.xml b/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/resources/META-INF/spring/async-consumer.xml
index ed47276..43e3b61 100644
--- a/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/resources/META-INF/spring/async-consumer.xml
+++ b/dubbo-samples-async/dubbo-samples-async-generated-future/src/main/resources/META-INF/spring/async-consumer.xml
@@ -28,6 +28,5 @@
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
- <dubbo:reference id="greetingsService" interface="org.apache.dubbo.samples.api.GreetingsServiceAsync"/>
- <!--<dubbo:reference id="greetingsService" interface="org.apache.dubbo.samples.api.GreetingsService"/>-->
+ <dubbo:reference id="greetingsService" interface="org.apache.dubbo.samples.api.GreetingsService"/>
</beans>
\ No newline at end of file
diff --git a/dubbo-samples-async/dubbo-samples-async-original-future/src/main/java/org/apache/dubbo/samples/governance/filter/AsyncPostprocessFilter.java b/dubbo-samples-async/dubbo-samples-async-original-future/src/main/java/org/apache/dubbo/samples/governance/filter/AsyncPostprocessFilter.java
index dfc89e2..6739b3d 100644
--- a/dubbo-samples-async/dubbo-samples-async-original-future/src/main/java/org/apache/dubbo/samples/governance/filter/AsyncPostprocessFilter.java
+++ b/dubbo-samples-async/dubbo-samples-async-original-future/src/main/java/org/apache/dubbo/samples/governance/filter/AsyncPostprocessFilter.java
@@ -18,7 +18,7 @@ package org.apache.dubbo.samples.governance.filter;
import org.apache.dubbo.common.Constants;
import org.apache.dubbo.common.extension.Activate;
-import org.apache.dubbo.rpc.AbstractPostProcessFilter;
+import org.apache.dubbo.rpc.Filter;
import org.apache.dubbo.rpc.Invocation;
import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.Result;
@@ -28,9 +28,9 @@ import org.apache.dubbo.rpc.RpcException;
*
*/
@Activate(group = {Constants.PROVIDER, Constants.CONSUMER})
-public class AsyncPostprocessFilter extends AbstractPostProcessFilter {
+public class AsyncPostprocessFilter implements Filter {
@Override
- protected Result doPostProcess(Result result, Invoker<?> invoker, Invocation invocation) {
+ public Result onResponse(Result result, Invoker<?> invoker, Invocation invocation) {
System.out.println(Thread.currentThread().getName());
System.out.println("Filter get the return value: " + result.getValue());
return result;
@@ -39,6 +39,6 @@ public class AsyncPostprocessFilter extends AbstractPostProcessFilter {
@Override
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
System.out.println(Thread.currentThread().getName());
- return postProcessResult(invoker.invoke(invocation), invoker, invocation);
+ return invoker.invoke(invocation);
}
}