dubbo源码解析(八) dubbo中的netty使用

在上一节中写到,dubbo中netty服务暴露是通过下面代码来实现的:
final ExporterChangeableWrapper<T> exporter = doLocalExport(originInvoker);

进入RegistryProtocol的doLocalExport方法:


进入protocol的export方法


最终进入DubboProtocol的export方法

serviceKey(url)的目的是组装key=com.alibaba.dubbo.demo.DemoService:20880


进入openServer(url)这个方法:


key的值就是ip加端口号,保证netty只启动一次。

进入createServer(URL url)这个方法:


exchanger是一个信息交换层,进入Exchangers.bind方法:


其中getExchanger(url)获得HeaderExchanger的一个对象,进入HeaderExchanger的bind方法:


进入Transporters.bind方法


其中getTransporter()方法是通过dubbo的spi返回Transporter$Adpative动态类的一个对象,进入其bind方法:


进入NettyTransporter的bind方法:


进入AbstractServer的 doOpen方法,这个方法的作用就是启动netty




  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值