自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 outputStream转换InputStream

outputStream转换InputStream

2023-01-09 10:39:26 2633

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除