当前位置: 首页 > news >正文

深入理解Dubbo源码核心原理-Part3

到此开始讲解Dubbo消费端的源码

在消费一端,需要关注两件事情。第一,接口的proxy如何生成。第二,请求如何发送。

首先看到启动类

接下来看真正inject方法

 

 现在需要思考,待注入的Bean从哪儿来,这个Bean必然注入的是一个proxy,所以就需要思考这个proxy如何生成

从registryProtocol中的refer断点一直往后走,一直找到下面代码

获取好invoker,那就开始生成proxy了

 到此,所有初始化工作就做完了,总结如下:

1、找到要注入的信息,如:哪个field需要注入@DubboReference

2、基于要注入的信息生成代理,步骤:subscribe -> notify  -> 根据providerUrl生成invoker  -> 要使这个invoker变成可用的,还需通过netty生成连接获取client,这样就具备DubboInvoker特性了

3、根据完整的invoker创建代理对象,最终赋值给field


http://www.mrgr.cn/news/42565.html

相关文章:

  • (C语言贪吃蛇)15.贪吃蛇吃食物
  • fiddler抓包17_简单接口测试(Composer请求编辑)
  • fastAPI教程:进阶操作
  • 创建django项目,编译类型选择Custom environment后,却没有manage.py文件,无法启动项目?
  • 古典舞在线互动:SpringBoot平台设计与功能实现
  • 论文翻译 | Language Models are Few-Shot Learners 语言模型是少样本学习者(下)
  • LeetCode题练习与总结:整数转换英文表示--273
  • 知识图谱入门——8:KG开发常见数据格式:OWL、RDF、XML、GraphML、JSON、CSV。
  • 36 指针与 const 的多种搭配:指向常量的指针、常量指针、指向常量的常量指针、指针到指针的常量(涉及双重指针)
  • 插入排序:直接插入排序、希尔排序
  • Java高效编程(15):最小化类与成员的可见性
  • 5G NR coreset 简介
  • (C语言贪吃蛇)16.贪吃蛇食物位置随机(完结撒花)
  • Ubuntu18.04配置OpenPCDet并运行demo过程记录
  • Chromium 硬件加速开关c++
  • Redis: 集群高可用之MOVED转向和ASK转向解决方案
  • [云] DockerCoins 练习笔记
  • 电子电路元件器介绍与选型——晶振
  • 基于Apache和Tomcat的负载均衡实验报告
  • 考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)