赵计刚
每天进步一点点

随笔分类 -  dubbo源码解析

上一页 1 2
7.5 zookeeper客户端curator的基本使用 + zkui
摘要:使用zookeeper原生API实现一些复杂的东西比较麻烦。所以,出现了两款比较好的开源客户端,对zookeeper的原生API进行了包装:zkClient和curator。后者是Netflix出版的,必属精品,也是最好用的zk的开源客户端。 一 curator基本API使用 引入依赖: 该依赖引入 阅读全文
posted @ 2017-10-05 14:03 赵计刚 阅读(4940) 评论(3) 推荐(1) 编辑
7.4 服务远程暴露 - 创建Exporter与启动netty服务端
摘要:为了安全:服务启动的ip全部使用10.10.10.10 远程服务的暴露总体步骤: 将ref封装为invoker 将invoker转换为exporter 启动netty 注册服务到zookeeper 订阅 返回新的exporter实例 服务远程暴露的代码: 首先将实现类ref封装为Invoker,之后 阅读全文
posted @ 2017-10-05 12:24 赵计刚 阅读(2414) 评论(0) 推荐(0) 编辑
7.3 netty3基本使用
摘要:由于dubbo默认使用的是netty3进行通信的,这里简单的列出一个netty3通信的例子。 一 server端 1 Server 步骤: 首先创建了NioServerSocketChannelFactory:创建boss线程池,创建worker线程池以及worker线程数。(boss线程数默认为1 阅读全文
posted @ 2017-10-04 13:37 赵计刚 阅读(3918) 评论(0) 推荐(0) 编辑
7.2 服务本地暴露
摘要:为了安全:服务启动的ip全部使用10.10.10.10 服务暴露的流程其实就是下边这样(图片来自:http://www.iteye.com/topic/1123039) 简单看一下服务暴露的伪代码: 本地暴露: 通过JavassistProxyFactory(默认)将具体的实现类包装成Abstrac 阅读全文
posted @ 2017-10-03 15:00 赵计刚 阅读(1891) 评论(1) 推荐(0) 编辑
7.1 服务暴露前的准备-ServiceBean的装配
摘要:dubbo的服务暴露以第一章 第一个dubbo项目中的dubbo-demo-provider来讲述。 列出dubbo-demo-provider的xml配置: 服务暴露是由com.alibaba.dubbo.config.spring.ServiceBean这个类来实现的,这个类是spring通过解 阅读全文
posted @ 2017-10-02 20:08 赵计刚 阅读(4171) 评论(0) 推荐(0) 编辑
6.2 dubbo在spring中自定义xml标签源码解析
摘要:在6.1 如何在spring中自定义xml标签中我们看到了在spring中自定义xml标签的方式。dubbo也是这样来实现的。 一 META_INF/dubbo.xsd 比较长,只列出<dubbo:applicaton>元素相关的。 与上一节完全相似。 二 META_INF/spring.schem 阅读全文
posted @ 2017-10-02 13:27 赵计刚 阅读(1342) 评论(0) 推荐(0) 编辑
6.1 如何在spring中自定义xml标签
摘要:dubbo自定义了很多xml标签,例如<dubbo:application>,那么这些自定义标签是怎么与spring结合起来的呢?我们先看一个简单的例子。 一 编写模型类 二 定义xsd文件 说明: 定义targetNamespace(目标命名空间),xmlns的值要与这个相同 xsd:elemen 阅读全文
posted @ 2017-10-02 12:54 赵计刚 阅读(6904) 评论(0) 推荐(0) 编辑
5.2 dubbo-compiler源码解析
摘要:在2.2 dubbo-spi源码解析讲了第一句,在第四章 dubbo内核之aop源码解析讲了第二句,本章来讲最后一句。 getAdaptiveExtension()层级结构: 这里最后执行到了createAdaptiveExtensionClass()方法。 一 构造代码串 createAdapti 阅读全文
posted @ 2017-10-01 21:31 赵计刚 阅读(1587) 评论(0) 推荐(1) 编辑
5.1 javassist基本使用
摘要:假设要使用javassist创建一个类: 该类包含属性/构造方法/getter/setter/普通方法。 使用javassist来创建类: 之后可以使用javap命令来看一下/Users/jigangzhao/Desktop/Emp.class文件。 关于javassit的API请查看: https 阅读全文
posted @ 2017-10-01 20:21 赵计刚 阅读(1379) 评论(0) 推荐(0) 编辑
第四章 dubbo内核之aop源码解析
摘要:第一行代码在2.2 dubbo-spi源码解析中讲过,本节来看第二行代码。 一、获取一个ExtensionLoader 第一行代码后获得的loader: Class<?> type = interface com.alibaba.dubbo.rpc.Protocol ExtensionFactory 阅读全文
posted @ 2017-10-01 19:59 赵计刚 阅读(2324) 评论(0) 推荐(0) 编辑
第三章 dubbo内核之ioc源码解析
摘要:dubbo的IOC具体实现在:T injectExtension(T instance)方法中。该方法只在三个地方被使用: 来看一下源码: 整个方法的作用就是通过instance对象实例的setter方法为instance的属性赋值,完成setter注入,即IOC的最经典的注入方式。 详细步骤: 获 阅读全文
posted @ 2017-10-01 19:25 赵计刚 阅读(1693) 评论(0) 推荐(0) 编辑
2.2 dubbo-spi源码解析
摘要:讲解这三行代码的源码。 一 Protocol接口的定义 注意:这里有两个核心注解 @SPI:指定一个接口为SPI接口(可扩展接口) 1 @Documented 2 @Retention(RetentionPolicy.RUNTIME) 3 @Target({ElementType.TYPE}) 4 阅读全文
posted @ 2017-10-01 17:53 赵计刚 阅读(2458) 评论(0) 推荐(0) 编辑
2.1 jdk-spi的实现原理
摘要:dubbo-spi是在jdk-spi的基础上进行重写优化,下面看一下jdk-spi。 一、作用 为接口自动寻找实现类。 二、实现方式 标准制定者制定接口 不同厂商编写针对于该接口的实现类,并在jar的“classpath:META-INF/services/全接口名称”文件中指定相应的实现类全类名 阅读全文
posted @ 2017-10-01 14:35 赵计刚 阅读(4707) 评论(0) 推荐(2) 编辑
第一章 第一个dubbo项目
摘要:为了安全:服务启动的ip全部使用10.10.10.10 版本: dubbo:2.5.5 重要的网址: dubbo的github:https://github.com/alibaba/dubbo dubbo官网:http://dubbo.io/ dubbo使用者手册:https://dubbo.git 阅读全文
posted @ 2017-10-01 12:40 赵计刚 阅读(2286) 评论(0) 推荐(0) 编辑
第零章 dubbo源码解析目录
摘要:第一章 第一个dubbo项目 第二章 dubbo内核之spi源码解析 2.1 jdk-spi的实现原理 2.2 dubbo-spi源码解析 第三章 dubbo内核之ioc源码解析 第四章 dubbo内核之aop源码解析 第五章 dubbo内核之compiler源码解析 5.1 javassist基本 阅读全文
posted @ 2017-10-01 11:01 赵计刚 阅读(3900) 评论(0) 推荐(1) 编辑

上一页 1 2