diff --git a/service.html b/service.html index 6a01dc0b9..0837e5cb4 100644 --- a/service.html +++ b/service.html @@ -251,7 +251,13 @@

      生成远程模式Service时发现参数带有@DynCall注解的方法,在远程调用返回结果时会进行回调处理。


      异步调用

-

      远程模式不仅对@DynCall注解进行处理,而且对方法含有 java.nio.channels.CompletionHandler 的参数也进行异步特殊处理。

+

      远程模式不仅对@DynCall注解进行处理,而且对方法含有 java.nio.channels.CompletionHandler 的参数也进行异步特殊处理。异步调用对远程模式非常有意义,可以减少同步方式对当前线程的占用时间。也给Source组件的异步调用提供了基础。

+
    @Override
+    public <T> void update(final CompletionHandler<Void, T[]> handler, @DynAttachment final T... values) {
+        source.update(values);
+        if (handler != null) handler.completed(null, values);
+    }
+

      如上图DataSourceService的源码,当DataSource为本地实例时,异步接口(含CompletionHandler参数的)与同步接口执行流程相同。当DataSource为远程模式时,调用异步接口时,通信接口发到远程服务器时CompletionHandler参数的值传null,返回数据后再调用本地的CompletionHandler参数值执行。