dubbo服务导出的全过程分析

76 阅读1分钟

1. dubbo服务导出的步骤

服务解析,服务启动, 服务注册

服务解析指的是将服务解析成ServiceBean并且注入到容器当中

服务的启动指的是,使用第三方服务框架启动可以处理对外请求的服务。如使用 Netty、MINA 框架启动的 Socket 服务。

服务的注册也叫服务的暴露,指的是将启动后的服务信息写到注册中心里并暴露出去,这样调用方就可以从注册中心获取服务信息了。

2. 步骤分析

2.1 服务解析

自定义DubboNamespaceHandler,继承自NamespaceHandlerSupport,将<dubbo:service>解析为ServiceBean

DubboBeanDefinitionParser.parse()

2.1 服务启动

在 Spring 容器初始化后,触发服务注册流程,在服务注册流程里包含两步,服务的启动和服务的注册。

ServiceBean监听了ContextRefreshedEvent事件, 即当Spring初始化完成之后,会调用onApplicationEvent方法 服务的启动和注册,都是onApplicationEvent方法开始的。