elasticsearch-java api中get() 和execute().actionGet()方法

17 篇文章 3 订阅

我们平时使用api在进行各种操作的时候,如:query、document的增删改查等等,都会看到最后会调用.get()或者.execute().actionGet()方法。例如:

IndexResponse actionGet = transportClient
				.prepareIndex(indexName, indexType)
				.setSource(data)
				.execute().actionGet();
		return actionGet.isCreated();
DeleteResponse deleteResponse = transportClient
				.prepareDelete(indexName, indexType, id)
				.execute().actionGet();
		return deleteResponse.isFound();
GetResponse getResponse = transportClient
				.prepareGet(indexName, indexType, id)
				.get();

这是由于,Elasticsearch提供的java客户端是天生异步的。


1、其中,execute() 方法中,创建了一个ActionListener,用来监听action的执行结果;然后在调用actionGet(timeout),获取最终返回结果,actionGet是一个阻塞的方法,可以设置一个超时时间,也可以不设置。


2、get(timeout)方法:

通过源码可以发现,get(timeout)方法内部就是封装了execute().actionGet(timeout)方法,其中参数timeout也是超时时间,当然也可以不设置,一致阻塞知道有返回结果。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值