dubbo解析-Merger接口作用及其实现类介绍
本文基于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接口作用及其实现类介绍相关推荐
- Swagger 自动生成 Dubbo 服务的接口文档,以及测试调用
点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | J ...
- 以两种异步模型应用案例,深度解析Future接口
摘要:本文以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类. 本文分享自华为云社区<[精通高并发系列]两种异步模型与深度解析Future接口(一) ...
- 【Android 异步操作】FutureTask 分析 ( Future 接口解析 | Runnable 接口解析 | Callable 接口解析 )
文章目录 一.Future 接口 1.Future 接口简介 2.取消任务方法 3.Future 接口源码注释 二.Callable 接口 三.Runnable 接口 上一篇博客 [Android 异 ...
- mybatis如何根据mapper接口生成其实现类
SpringBoot集成mybatis mybatis的statement的解析与加载 mybatis如何根据mapper接口生成其实现类 mybatis的mapper返回map结果集 mybatis ...
- android xml defaulthandler解析,sax解析xml文件的DefaultHandler处理类
一千年的时光,我无数次掀起岁月的帷幔,只为和你,在某一个平静如水的日子相遇,然后相识,倾情一生,缱绻一世,好美的散文,好吧,我情愿把这个"你"当作android:),使用sax解析 ...
- Java集合框架之四大接口、常用实现类,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- dubbo远程调用接口
最近做了一个项目需要使用dubbo调用远程接口,写出来分享一下 首先需要提供接口的人给你接口地址,注册中心地址,以及参数类型,参数类型可以是实体类,可以让客户直接把实体类发给你 接口地址就是类名地址以 ...
- Comparable接口作用
今天在开发中无意看到Integer包装类内部实现了Comparable接口,因此探查一下该接口作用: 查看API解释: 此接口强行对实现它的每个类的对象进行整体排序.这种排序被称为类的自然排序,类的 ...
- 【高并发】深入解析Callable接口
本文纯干货,从源码角度深入解析Callable接口,希望大家踏下心来,打开你的IDE,跟着文章看源码,相信你一定收获不小. 1.Callable接口介绍 Callable接口是JDK1.5新增的泛型接 ...
最新文章
- windows 软件安装事件_苹果安装windows,报windows支持软件未能存储到所选驱动器
- 一个Apache CollectionUtils.intersection 方法的简单问题
- 比特币现金在稳定币领域的地位怎样
- SD-WAN能带来什么好处?
- Oracle 数据库impdp导入数据库版本和dmp数据库文件版本不匹配问题解决方法,ORA-39142版本号不兼容、ORA-39000转储文件说明错误解决方法
- 如果你也会C#,那不妨了解下F#(6):面向对象编程之“类”
- 实现html5音乐的自动播放,html5中audio实现播放列表和自动播放
- oracle 数据管理,Oracle深入浅出之数据管理
- Win11cpu不支持怎么办,Win11cpu不支持解决方法
- 2003服务器系统驱动精灵,万能驱动助理 e驱动 6.1.2014.0516 for XP/win2003 32位专版
- java 无领导小组面试,无领导小组讨论面试前的准备不包括:( )
- Excel 轻松制作 二级联动 下拉列表清单
- Java面试题 java高级
- 2022最新软件测试面试题(含答案)
- 和菜头:放开那些员工
- 【Linux进程】Linux进程
- 英国《金融时报》:全力加码早期投资,红杉中国在下一盘怎样的棋?...
- 网赚项目 - 陌陌引流,变现的步骤和方法
- C#ActiveX插件制作
- Office 365 Developer
热门文章
- 7月5号cf服务器维护,cf2015年5月7日维护到几点 cf5月7日更新公告
- VB获得迅雷资讯弹出网页的源代码
- Arthas开源一周年,Github Star 160K,我们一直在坚持什么?
- Learn from Architects of Buildings
- 爱的网页,献给爱的人
- STC单片机驱动1.8‘TFT SPI屏幕示例模板(含资料包)
- Adobe illustrator2022(Ai2022)新增功能
- k3595参数_常用三极管参数指标
- F2FS源码分析-2.2 [F2FS 读写部分] F2FS的一般文件写流程分析
- ios .mm文件调用c语言函数报错,深入浅出 iOS 编译