每个Elasticsearch API 支持同步/异步两种方式,同步方法直接返回一个结果对象。异步的方法以async为后缀,通过listener参数来通知结果。

同步执行

以下列方式执行IndexRequest时,客户端在继续执行代码之前等待返回IndexResponse:

IndexResponse indexResponse = client.index(request, RequestOptions.DEFAULT);

异步执行

执行IndexRequest也可以以异步方式完成,以便客户端可以直接返回,用户需要通过将请求和侦听器传递给异步索引方法来指定响应或潜在故障的处理方式:

client.indexAsync(request, RequestOptions.DEFAULT, listener);

要执行的IndexRequest和执行完成时要使用的ActionListener。

异步方法不会阻塞并立即返回,一旦完成,如果执行成功完成,则使用onResponse方法回调ActionListener,如果失败则使用onFailure方法。

index的典型侦听器如下所示:

listener = new ActionListener() {

@Override

public void onResponse(IndexResponse indexResponse) {

}

@Override

public void onFailure(Exception e) {

}

};

方法说明:

  • onResponse — 执行成功完成时调用。
  • onFailure — 当整个IndexRequest失败时调用。

Get API 请求

GetRequest 也提供了同步执行和异步执行2种方式。

同步执行

以下列方式执行GetRequest时,客户端在继续执行代码之前等待返回GetResponse:

GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT);

异步执行

执行GetRequest也可以以异步方式完成,以便客户端可以直接返回,用户需要通过将请求和侦听器传递给异步get方法来指定响应或潜在故障的处理方式:

client.getAsync(request, RequestOptions.DEFAULT, listener);

如下是上述方法的输出结果:

(1)id 不存在的情况

id:111111111

null

isExists方法返回false

(2)id存在的情况

id:M4KO42wB19IsZPINAb0E

{"type":"doc

phpcms 指定id范围 调用_Elasticsearch v7 中Java High-Level REST Client同步和异步调用相关推荐

  1. 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(2):处理异步调用中的异常...

    本文来自<ASP.NET AJAX程序设计 第II卷:客户端Microsoft AJAX Library相关>的第三章<异步调用Web Service和页面中的类方法>,请同时 ...

  2. 浅谈WebService开发二(同步与异步调用)转

    上文 <http://www.dotnetgeek.cn/xuexiwebservice1.html>已经跟大家说了,如果创建一个webservice和简单的调用,本文将注重webserv ...

  3. phpcms 指定id范围 调用_phpcms v9使用GET调用指定id文章内容、页面数据方法

    不知道大家有没有相同的体会?在使用Phpcms V9建站调用数据的时候,基础的数据用默认的模板的调用语句就好了,但复杂不常见的数据怎么调用呢?我们技术可能会研究半天,怀着探索的精神不断尝试.孜孜不倦. ...

  4. phpcms 指定id范围 调用_Dubbogo 源码笔记(二)客户端调用过程

    作者 | 李志信 导读:有了上一篇文章<Dubbo-go 源码笔记(一)Server 端开启服务过程>的铺垫,可以类比客户端启动于服务端的启动过程.其中最大的区别是服务端通过 zk 注册服 ...

  5. Dubbo 同步、异步调用的几种方式

    我们知道,Dubbo 缺省协议采用单一长连接,底层实现是 Netty 的 NIO 异步通讯机制:基于这种机制,Dubbo 实现了以下几种调用方式: 同步调用 异步调用 参数回调 事件通知 同步调用 同 ...

  6. ajax中异步属性,ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里 ...

  7. C#的同步和异步调用方法

    同步和异步大家都明白什么意思,在这里不多介绍了. namespace ConsoleTest {class Program{static void Main(string[] args){Consol ...

  8. phpcms 指定id范围 调用_PHPCMSv9显示指定栏目ID的热门文章

    PHPCMSv9小技巧之三:排行栏显示指定栏目ID的热门文章 一.显示当前栏目的热门文章. 标签为:{pc:content action="hits" catid="$c ...

  9. android java 调用js,Android中Java和JavaScript交互实例

    Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本.本文将介绍如何实现Java代码和Javascript代码的相互调用. 如 ...

最新文章

  1. 网站推广——网站推广专员是如何对竞争对手网站进行分析总结的?
  2. Python - 列表与字符串的互相转换
  3. SQL语句中用Parameters有什么好处
  4. pandas 遍历并修改_Pandas循环提速7万多倍!Python数据分析攻略
  5. AngularJS内置指令 ng-xxx
  6. @GeneratedValue不能使属性自增长
  7. linux应用编程之进程间同步
  8. 餐厅点餐系统app总结
  9. 人工智能专业世界排名第一的大学,2022最新
  10. html 加号按钮变减号,带有javascript附加输入的加号/减号按钮
  11. 含有使字的诗句_带有一字的诗句
  12. 中国移动SP短信网关接入平台
  13. 斯皮尔曼相关系数范围_Spearman Rank(斯皮尔曼等级)相关系数及MATLAB实现
  14. C++判断一个大于2的整数是否是素数
  15. VS2008 中无法使用ACTIVEX控件的解决
  16. 【超简单】latex 参考文献 引用 跳转 多余的空格
  17. 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.2/gradle-3
  18. LENOVO服务器批量升级BMC固件
  19. GLES2.0中文API-glBindAttribLocation
  20. Android 操作系统基础

热门文章

  1. 第1章 计算机基础知识习题答案,职称计算机基础知识习题第一章
  2. gradient设置上下渐变_css3渐变之线性渐变linear-gradient
  3. java await signal_java Condtion await方法和signal方法解析
  4. ios 修复 内存泄露_iOS 内存泄漏如何解决
  5. 计算机学具制作,6计算机模板教案6算机模板教案.doc
  6. 多媒体计算机技术论文结束语,论述多媒体计算机技术在广播电视工程中的应用成果论文...
  7. js中货币格式化方法
  8. HTTP中常用响应头
  9. 使用Maven管理的项目,如何设置Context Root
  10. vue的route懒加载