本文基于dubbo 2.7.5版本代码

Merger接口只有一个方法merge,入参是数组,作用是将数组合并为一个对象。该接口在集群容错的MergeableClusterInvoker类中将多个服务提供者的返回值合并。
该接口的实现类是通过SPI加载的,我们看一下org.apache.dubbo.rpc.cluster.merger.Merger文件,该文件中记录了所有的Merger实现类和其名字。
文件内容如下:

map=org.apache.dubbo.rpc.cluster.merger.MapMerger
set=org.apache.dubbo.rpc.cluster.merger.SetMerger
list=org.apache.dubbo.rpc.cluster.merger.ListMerger
byte=org.apache.dubbo.rpc.cluster.merger.ByteArrayMerger
char=org.apache.dubbo.rpc.cluster.merger.CharArrayMerger
short=org.apache.dubbo.rpc.cluster.merger.ShortArrayMerger
int=org.apache.dubbo.rpc.cluster.merger.IntArrayMerger
long=org.apache.dubbo.rpc.cluster.merger.LongArrayMerger
float=org.apache.dubbo.rpc.cluster.merger.FloatArrayMerger
double=org.apache.dubbo.rpc.cluster.merger.DoubleArrayMerger
boolean=org.apache.dubbo.rpc.cluster.merger.BooleanArrayMerger

每个实现类的逻辑都是类似的,本文分析一下BooleanArrayMerger。
BooleanArrayMerger的merge方法的入参是

boolean[]... items

items是boolean数组的数组,merge方法新建一个boolean数组,然后遍历items,将items数组中的数组里面的每个boolean值加入到新建数组中,然后返回该新建数组,换句话说merge方法将一个二维数组变为了一个一维数组
类似的,MapMerger是将一个Map数组合并为一个Map对象。

dubbo解析-Merger接口作用及其实现类介绍相关推荐

  1. Swagger 自动生成 Dubbo 服务的接口文档,以及测试调用

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | J ...

  2. 以两种异步模型应用案例,深度解析Future接口

    摘要:本文以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类. 本文分享自华为云社区<[精通高并发系列]两种异步模型与深度解析Future接口(一) ...

  3. 【Android 异步操作】FutureTask 分析 ( Future 接口解析 | Runnable 接口解析 | Callable 接口解析 )

    文章目录 一.Future 接口 1.Future 接口简介 2.取消任务方法 3.Future 接口源码注释 二.Callable 接口 三.Runnable 接口 上一篇博客 [Android 异 ...

  4. mybatis如何根据mapper接口生成其实现类

    SpringBoot集成mybatis mybatis的statement的解析与加载 mybatis如何根据mapper接口生成其实现类 mybatis的mapper返回map结果集 mybatis ...

  5. android xml defaulthandler解析,sax解析xml文件的DefaultHandler处理类

    一千年的时光,我无数次掀起岁月的帷幔,只为和你,在某一个平静如水的日子相遇,然后相识,倾情一生,缱绻一世,好美的散文,好吧,我情愿把这个"你"当作android:),使用sax解析 ...

  6. Java集合框架之四大接口、常用实现类,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  7. dubbo远程调用接口

    最近做了一个项目需要使用dubbo调用远程接口,写出来分享一下 首先需要提供接口的人给你接口地址,注册中心地址,以及参数类型,参数类型可以是实体类,可以让客户直接把实体类发给你 接口地址就是类名地址以 ...

  8. Comparable接口作用

    今天在开发中无意看到Integer包装类内部实现了Comparable接口,因此探查一下该接口作用: 查看API解释: 此接口强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然排序,类的 ...

  9. 【高并发】深入解析Callable接口

    本文纯干货,从源码角度深入解析Callable接口,希望大家踏下心来,打开你的IDE,跟着文章看源码,相信你一定收获不小. 1.Callable接口介绍 Callable接口是JDK1.5新增的泛型接 ...

最新文章

  1. windows 软件安装事件_苹果安装windows,报windows支持软件未能存储到所选驱动器
  2. 一个Apache CollectionUtils.intersection 方法的简单问题
  3. 比特币现金在稳定币领域的地位怎样
  4. SD-WAN能带来什么好处?
  5. Oracle 数据库impdp导入数据库版本和dmp数据库文件版本不匹配问题解决方法,ORA-39142版本号不兼容、ORA-39000转储文件说明错误解决方法
  6. 如果你也会C#,那不妨了解下F#(6):面向对象编程之“类”
  7. 实现html5音乐的自动播放,html5中audio实现播放列表和自动播放
  8. oracle 数据管理,Oracle深入浅出之数据管理
  9. Win11cpu不支持怎么办,Win11cpu不支持解决方法
  10. 2003服务器系统驱动精灵,万能驱动助理 e驱动 6.1.2014.0516 for XP/win2003 32位专版
  11. java 无领导小组面试,无领导小组讨论面试前的准备不包括:( )
  12. Excel 轻松制作 二级联动 下拉列表清单
  13. Java面试题 java高级
  14. 2022最新软件测试面试题(含答案)
  15. 和菜头:放开那些员工
  16. 【Linux进程】Linux进程
  17. 英国《金融时报》:全力加码早期投资,红杉中国在下一盘怎样的棋?...
  18. 网赚项目 - 陌陌引流,变现的步骤和方法
  19. C#ActiveX插件制作
  20. Office 365 Developer

热门文章

  1. 7月5号cf服务器维护,cf2015年5月7日维护到几点 cf5月7日更新公告
  2. VB获得迅雷资讯弹出网页的源代码
  3. Arthas开源一周年,Github Star 160K,我们一直在坚持什么?
  4. Learn from Architects of Buildings
  5. 爱的网页,献给爱的人
  6. STC单片机驱动1.8‘TFT SPI屏幕示例模板(含资料包)
  7. Adobe illustrator2022(Ai2022)新增功能
  8. k3595参数_常用三极管参数指标
  9. F2FS源码分析-2.2 [F2FS 读写部分] F2FS的一般文件写流程分析
  10. ios .mm文件调用c语言函数报错,深入浅出 iOS 编译