上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页
摘要: JDK中的集合框架分为两大类:Collection和Map。Collection以一组Object的形式保存元素,Map以Key-Value对的形式保存元素。 上图列出的类并不完整,只列举了平时比较常用的类。 基本接口和类型 Collection集合 该接口是Set和List的父接口,主要提供了下面 阅读全文
posted @ 2018-07-20 00:54 写出高级BUG 阅读(813) 评论(1) 推荐(1) 编辑
摘要: Invoker调用 代理有几种方式:普通代理、JDK、Javassist库动态代理、Javassist库动态字节码代理。 生成代理的目的是你调用invoker的相关函数后,就等同于是调用DubboInvoker中的相关函数,也就是将本地调用转为网络调用并获得结果。 Dubbo提供了三种代理工厂,默认 阅读全文
posted @ 2018-07-19 17:46 写出高级BUG 阅读(658) 评论(0) 推荐(0) 编辑
摘要: ExtensionLoader.java中注意到injectExtension函数是为了设置所生成的对象的field;其方法为对于有set函数的field进行设置。此时用到了ExtensionFactory;说白了ExtensionFactory就是根据类型和名字来获取对象。 下面我们来看看Exte 阅读全文
posted @ 2018-07-19 16:49 写出高级BUG 阅读(870) 评论(0) 推荐(0) 编辑
摘要: Filter Filter是Dubbo里面非常重要的模块,Dubbo里面日志记录、超时等功能都是在这一部分实现。 如上一节在介绍扩展点加载时所述,在生成Protocol的invoker时,实际上使用了装饰模式,第一个是filter,第二个是listener。 我们先来看filter,具体Protoc 阅读全文
posted @ 2018-07-19 16:21 写出高级BUG 阅读(802) 评论(0) 推荐(0) 编辑
摘要: 与JDK的SPI机制类似,Dubbo也在META-INF路径下定义了多种扩展接口。只是JDK SPI机制是Java后台帮你实现读取文件并对接具体的实现类,而Dubbo是自己去读文件。 扩展点配置 扩展点机制有几个要点: 1. 根据关键字去读取配置文件,获得具体的实现类 比如在dubbo-provid 阅读全文
posted @ 2018-07-19 15:54 写出高级BUG 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。 目前有不少框架用它来做服务的扩展发现, 简单来说,它就是一种动态替换发现的机制, 举个例子来说,有个接口,想运行时动态的给它添加实现,你只需要添加一个实现。 当服务的提供者提供了一种接口 阅读全文
posted @ 2018-07-19 14:17 写出高级BUG 阅读(3441) 评论(0) 推荐(0) 编辑
摘要: 根据上一小节对于spring扩展schema的介绍,大概可以猜到dubbo中相关的内容是如何实现的。 再来回顾Dubbo实践(一)中定义的dubbo-provider.xml: 对应的自定义schema文件,对应的handler配置,可以在dubbo-{version}.jar 中 META-INF 阅读全文
posted @ 2018-07-19 12:42 写出高级BUG 阅读(3604) 评论(0) 推荐(0) 编辑
摘要: 先回顾Dubbo实践(一)中定义的dubbo-provider.xml: 本节将分析这一部分的实现过程,即如何通过配置文件生成实现类对象。 在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。 阅读全文
posted @ 2018-07-19 11:39 写出高级BUG 阅读(690) 评论(0) 推荐(0) 编辑
摘要: Dubbo框架在初始化和通信过程中使用了多种设计模式,可灵活控制类加载、权限控制等功能。 工厂模式 Provider在export服务时,会调用ServiceConfig的export方法。ServiceConfig中有个字段: Dubbo里有很多这种代码。这也是一种工厂模式,只是实现类的获取采用了 阅读全文
posted @ 2018-07-19 11:00 写出高级BUG 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 整体设计 图例说明: 图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口; 图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service 和 Config 层为 API,其 阅读全文
posted @ 2018-07-19 10:13 写出高级BUG 阅读(275) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页