![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DUBBO
iAmZard
邮箱: sijunx@163.com
展开
-
dubbo-admin环境搭建
dubbo-admin环境搭建修改启动端口(默认为8080)github下载源代码,编译 修改启动端口(默认为8080) dubbo-admin-server/src/main/resources/application.properties 增加 server.port=8060 github下载源代码,编译 ...原创 2020-02-07 20:55:20 · 144 阅读 · 0 评论 -
Dubbo源码Debug-Aop解析
Dubbo的Ioc和Aop原理 Dubbo的Aop通过Wrapper.getWrapper实现 Wrapper中的getWrapper方法makeWrapper 生成Wrapper代码 总结:dubbo采用来wrapper包装模式动态生成类的代理类代码。 ...原创 2019-07-29 08:14:16 · 121 阅读 · 0 评论 -
Dubbo源码Debug-Filter链解析
Dubbo过滤器串联原理 new Invoker{…}中实现接口方法时,赋值了外部变量,是实现filter链路的关键 Invoker接口 举例:遍历filter数组为i=5的链路情况 举例:遍历filter数组为i=3的链路情况 总结:1、调用链路:过滤器串联实例:ProtocolFilterWrapper->buildInvokerChain->ExtensionLoade...原创 2019-07-29 08:16:48 · 185 阅读 · 0 评论 -
Dubbo源码Debug-服务暴露解析
dubbo_export.md //服务暴露 ServiceConfig.export() -->doExport() -->doExportUrls() -->doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List<URL> registryURLs) ...原创 2019-07-29 08:18:38 · 309 阅读 · 0 评论 -
Dubbo源码Debug-服务发现解析
dubbo_refer.md //服务发现 ReferenceConfig.init() -->Protocol$Adaptive.refer(Class claz, URL url) -->RegistryProtocol.refer() 返回invoker -->RegistryFactory$Adaptive.getRegistry(URL ...原创 2019-07-29 08:19:33 · 337 阅读 · 0 评论 -
Dubbo源码Debug-Spi解析
ExtensionLoader ExtensionLoader的静态成员变量 获取ExtensionLoader的条件和存储HashMap 必须是加了@SPI注解的接口 获取激活扩展,必须是打了@Activate的接口或方法 总结:1、Dubbo的Spi机制是通过ExtensionLoader的静态成员变量存储每个加了@SPI注解的接口生成ExtensionLoader实例存储concu...原创 2019-07-29 08:21:54 · 319 阅读 · 0 评论 -
Dubbo源码Debug-Double Check考点
double check的代码片段 说说看,你觉得这个在多线程并发的情况下会有问题吗? Holder中的value用volatile修饰 考点:1、指令重排,实际上一个bean的创建的创建的指令被分成了两条一条是bean存储空间的创建,另一条是bean的初始化执行。这两条指令可能被重排序。 2、如果先执行了bean存储空间的创建,那么,另外一个线程判断if(instance==null)就是不...原创 2019-07-29 08:35:09 · 136 阅读 · 0 评论