es中的ActionListener
1、概述
ActionListener作为观察者模式的实现,主要处理行为响应以及行为异常
2、ActionListener接口
onResponse:处理响应
onFailure:处理异常
3、实现类
3.1 Delegating
ActionListenere的代理类,是抽象类,对onFailure方法作代理
3.2 MappedActionListener
是Delegatine的实现类,提供了map方法创建实例对象。其对onResponse重写,通过CheckedFunction对Response作映射处理转换为MappedResponse,交由代理处理响应。
3.3 DelegatingActionListener
是Delegatine的实现类,对onResponse和onFailure重写,其中onResponse处理直接交由代理 来处理,onFailure是通过BiConsumer来处理异常。
3.4 DelegatingFailureActionListener
是Delegatine的实现类,对onResponse重写,onResponse是通过BiConsumer来处理响应
3.5 RunAfterActionListener
是Delegatine的实现类,对onResponse和onFailure重写,在代理处理完后,都执行runnable。
3.6 RunBeforeActionListener
是Delegatine的实现类,对onResponse和onFailure重写,在代理处理前,都执行runnable。
4、ActionListener的一些方法
4.1 wrap
基于onResponse(CheckedConsumer),onFailure(Consumer)创建匿名ActionListener
static <Response> ActionListener<Response> wrap(CheckedConsumer<Response, ? extends Exception> onResponse,Consumer<Exception> onFailure) {return new ActionListener<Response>() {@Overridepublic void onResponse(Response response) {try {onResponse.accept(response);} catch (Exception e) {onFailure(e);}}@Overridepublic void onFailure(Exception e) {onFailure.accept(e);}@Overridepublic String toString() {return "WrappedActionListener{" + onResponse + "}{" + onFailure + "}";}};
}
es中的ActionListener相关推荐
- es中修改某个字段值_搜索引擎之laravel中使用elasticsearch(一)
一.概述 Elasticsearch官方提供了Composer包可直接引用就好,不过要注意:如果你使用的elastcsearch不是最新的那么我建议你指定合适的版本下载,而不要采用最新的,因为不同版本 ...
- Elasticsearch和Hive整合,将hive数据同步到ES中
1 Elasticsearch整合Hive 1.1 软件环境 Hadoop软件环境 Hive软件环境 ES软件环境 1.2 ES-Hadoop介绍 1.2.1 官网 https://www.elast ...
- win下配置的ES中的数据在哪里可以看到?三种方式你看那种更加高大上!!!(win_Elasticsearch)
在上一篇博客<使用logstash将Mysql中的数据导入到ElasticSearch中(详细步骤,win_Elasticsearch)>中我们提到将数据插入到es中,那我怎么知道数据是否 ...
- ES中的RollUp概念
在最新的ES中出现了一个X特性,卷数据(Data Rollup,不知道如何翻译,姑且这么称呼吧).这个卷数据是个什么概念呢? 如果做过监控(monitoring)的都知道,监控实际上是个大数据问题,这 ...
- SpringData ES中字段名和索引中的列名字不一致导致的无法查询数据的解决方法
为什么80%的码农都做不了架构师?>>> 用SpringDataElasticsearch查询数据的时候可以将实体中的字段名与ES中mapping中field的名字起成一样的名 ...
- es 全量同步mysql_使用canal将mysql同步到es中
因为自己项目中需要用到mysql数据同步到es中,查找了相关资料最后决定用canal来做,所以便有了本文,下面一起来看如何使用canal吧 canal教程 根据 https://github.com/ ...
- es中的search_type简单理解
es中只要用到了两种search_type,一种是query_then_fetch(默认),另一种是dfs_query_then_fetch,我们知道计算某个文档的得分时主要使用的是tf/idf公式, ...
- es中主分片和副本分片
我们知道es中保存数据的时候是有主分片和副本分片的,那么副本分片的作用有哪些呢? 1.作为备份,防止主分片崩溃 2.分担查询请求,请求会在主分片和副本分片之间均匀分布 第一点:主副本之前角色的切换如何 ...
- logstash增量读取mysql中的数据到es中
在工作中,需要把mysql中的数据写入到es中进行分析: 官方文档:https://www.elastic.co/guide/en/logstash/6.3/plugins-inputs-jdbc.h ...
最新文章
- 黑色炫酷粒子动态html网站源码
- [LeetCode] Rotate Array
- Linux_zlog日志系统的安装与使用
- 【JavaEE】Spring 事务传播机制
- linux中命令du -sm,Linux中的Du命令
- 图解 React 的 diff 算法:核心就两个字 —— 复用
- VMware16安装Win11虚拟机(最全步骤+踩坑)
- ruoyi-cloud代码生成(跨数据库)
- Camera 之水波纹和banding现象
- 单片机与手机应用进行蓝牙通讯
- python——文档字符串
- 如何在excel多条件筛选
- 上海七宝惊现海宝美眉
- 泰坦尼克号数据挖掘项目实战——Task7 模型融合
- Acorn Mac 7.1.1
- RTX Excption integer divided by zero at loc (proc= thread=)Process image has been *unloaded
- 架构、框架、设计模式
- 英雄联盟账号服务器查询,lol战绩查询系统
- UEFI下安装win10
- PostGIS安装教程及遇到的问题总结