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相关推荐

  1. es中修改某个字段值_搜索引擎之laravel中使用elasticsearch(一)

    一.概述 Elasticsearch官方提供了Composer包可直接引用就好,不过要注意:如果你使用的elastcsearch不是最新的那么我建议你指定合适的版本下载,而不要采用最新的,因为不同版本 ...

  2. Elasticsearch和Hive整合,将hive数据同步到ES中

    1 Elasticsearch整合Hive 1.1 软件环境 Hadoop软件环境 Hive软件环境 ES软件环境 1.2 ES-Hadoop介绍 1.2.1 官网 https://www.elast ...

  3. win下配置的ES中的数据在哪里可以看到?三种方式你看那种更加高大上!!!(win_Elasticsearch)

    在上一篇博客<使用logstash将Mysql中的数据导入到ElasticSearch中(详细步骤,win_Elasticsearch)>中我们提到将数据插入到es中,那我怎么知道数据是否 ...

  4. ES中的RollUp概念

    在最新的ES中出现了一个X特性,卷数据(Data Rollup,不知道如何翻译,姑且这么称呼吧).这个卷数据是个什么概念呢? 如果做过监控(monitoring)的都知道,监控实际上是个大数据问题,这 ...

  5. SpringData ES中字段名和索引中的列名字不一致导致的无法查询数据的解决方法

    为什么80%的码农都做不了架构师?>>>    用SpringDataElasticsearch查询数据的时候可以将实体中的字段名与ES中mapping中field的名字起成一样的名 ...

  6. es 全量同步mysql_使用canal将mysql同步到es中

    因为自己项目中需要用到mysql数据同步到es中,查找了相关资料最后决定用canal来做,所以便有了本文,下面一起来看如何使用canal吧 canal教程 根据 https://github.com/ ...

  7. es中的search_type简单理解

    es中只要用到了两种search_type,一种是query_then_fetch(默认),另一种是dfs_query_then_fetch,我们知道计算某个文档的得分时主要使用的是tf/idf公式, ...

  8. es中主分片和副本分片

    我们知道es中保存数据的时候是有主分片和副本分片的,那么副本分片的作用有哪些呢? 1.作为备份,防止主分片崩溃 2.分担查询请求,请求会在主分片和副本分片之间均匀分布 第一点:主副本之前角色的切换如何 ...

  9. logstash增量读取mysql中的数据到es中

    在工作中,需要把mysql中的数据写入到es中进行分析: 官方文档:https://www.elastic.co/guide/en/logstash/6.3/plugins-inputs-jdbc.h ...

最新文章

  1. 黑色炫酷粒子动态html网站源码
  2. [LeetCode] Rotate Array
  3. Linux_zlog日志系统的安装与使用
  4. 【JavaEE】Spring 事务传播机制
  5. linux中命令du -sm,Linux中的Du命令
  6. 图解 React 的 diff 算法:核心就两个字 —— 复用
  7. VMware16安装Win11虚拟机(最全步骤+踩坑)
  8. ruoyi-cloud代码生成(跨数据库)
  9. Camera 之水波纹和banding现象
  10. 单片机与手机应用进行蓝牙通讯
  11. python——文档字符串
  12. 如何在excel多条件筛选
  13. 上海七宝惊现海宝美眉
  14. 泰坦尼克号数据挖掘项目实战——Task7 模型融合
  15. Acorn Mac 7.1.1
  16. RTX Excption integer divided by zero at loc (proc= thread=)Process image has been *unloaded
  17. 架构、框架、设计模式
  18. 英雄联盟账号服务器查询,lol战绩查询系统
  19. UEFI下安装win10
  20. PostGIS安装教程及遇到的问题总结

热门文章

  1. 使用 spring tool suit 搭建 spring boot 项目
  2. mvn test 指定suit
  3. nga php,index.php
  4. 【BDTC 2017】去年挤不进去的推荐系统论坛又来了!
  5. 源码编译安装Nginx及网站服务配置
  6. FBI犯罪心理测试题
  7. iOS 搜索功能实现
  8. 无限火力更新服务器公告,英雄联盟更新维护公告
  9. 【生活】零基础素描学习记录
  10. BOM-物料清单(Bill of Material)