异步调用

说明

微服务接口支持异步调用,异步调用后,可通过上下文获取 CompletableFuture 做对应的处理(get 或者 whenComplete 回调)。

使用方法:将@ZebraReference 的 async 属性设置为 true 即可。

代码样例

  1. @ZebraReference(async=true)
  2. private HelloService helloService;
  3. public String sayHello(String name) {
  4. helloService.sayHello(name);
  5. CompletableFuture<String> resultFuture = (CompletableFuture<String>) RpcContext.getContext().getFuture();
  6. // do other thing
  7. return resultFuture.get();
  8. }