ServiceBean
ConfigManager
Spring容器发布完成会调用 finishRefresh方法,发布Event事件.
finishRefresh方法->发布Event事件->DubboXXXListener->onApplicationEvent->init->exportServiceBean 完成发布
注册中心地址:
Url地址
发布的过程先走包装类.
发布的过程先走包装类.
RegistryProtocal export 方法.
默认的通信协议是Netty. 之前的步骤只是服务暴露,完成发布调用的是doLocalExport方法.
ServiceBean
JDK代理对象,最终调用到目标实例对象。 ReferenceConfig.get()
走的是Dubbo的代理对象的方法.
- ReferenceBean.get()
- ReferenceConfig 服务引用,实例调用方法的时候.
当收到了服务端的数据发布,NettyHandle会收到该消息。
//当通道有读取事件时会触发,即服务端发送数据给客户端
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
ByteBuf buf = (ByteBuf) msg;
System.out.println("收到服务端的消息:" + buf.toString(CharsetUtil.UTF_8));
System.out.println("服务端的地址: " + ctx.channel().remoteAddress());
}
DubboProtocal,RegistryProtocal的export方法.
调用都会包装成
Invocation
Invoke
网友评论