- 博客(5)
- 收藏
- 关注
原创 【dubbo源码拜读四】
这是创建netty服务设置的handler,NettyServerHandler上节有讲过,下一步就到了NettyServer的received方法,其实调用的是其父类AbstractPeer的received,上节有讲过NettyServer的构造,以及继承关系。最后调用的重写的doInvoke方法里面又会调用wrapper.invokeMethod,最后会调用到实际的方法。这是上节说过的handler结构,调用服务也是会按照此结构调用这些handler重写的received方法。
2025-05-16 15:16:48
720
原创 【dubbo源码拜读三】
以上其实都是spi加载相关功能,会到ExtensionLoader 的createAdaptiveExtension方法->getAdaptiveExtensionClass->createAdaptiveExtensionClass 创建Protocol的adaptive类,看看如何进行创建的,generate方法会生成对应的code,最后进行compile生成class。回到loadClass方法,isWrapperClass会进行判断,这个类的构造方法传入参数是否是Protocol。
2025-05-12 08:44:18
590
原创 【dubbo源码拜读二】
后续核心加载代码如下,遍历strategies,循环调用loadDirectory,每个strategie都目录directory不一样,使得可以加载到META-INF/dubbo/internal/、META-INF/dubbo/、META-INF/services/下的文件,后续内容可以自己仔细看看,具体过程就是。上面三个路径加上类的全限定名,加载文件内容,内容是k,v形式, 将k,v解析出来放入map中。有个配置动态变更过程,我直接改,能监听到变化,这里有个很坑的地方,需要自己加上处理。
2025-02-07 17:57:35
1166
原创 【dubbo源码拜读】
DubboComponentScanRegistrar 实现ImportBeanDefinitionRegistrar 的registerBeanDefinitions方法(之前spring解析中有调用过程),方法中将ServiceAnnotationPostProcessor bean对象注入,以及注入一些通用bean(比如ReferenceAnnotationBeanPostProcessor 处理@DubboReference注解修饰的类,还有一些监听器等等)注入一些通用bean。
2025-02-06 17:05:20
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅