1. dubbo服务导出的步骤
服务解析,服务启动, 服务注册
服务解析指的是将服务解析成ServiceBean并且注入到容器当中
服务的启动指的是,使用第三方服务框架启动可以处理对外请求的服务。如使用 Netty、MINA 框架启动的 Socket 服务。
服务的注册也叫服务的暴露,指的是将启动后的服务信息写到注册中心里并暴露出去,这样调用方就可以从注册中心获取服务信息了。
2. 步骤分析
2.1 服务解析
自定义
DubboNamespaceHandler,继承自NamespaceHandlerSupport,将<dubbo:service>解析为ServiceBean
DubboBeanDefinitionParser.parse()
2.1 服务启动
在 Spring 容器初始化后,触发服务注册流程,在服务注册流程里包含两步,服务的启动和服务的注册。
ServiceBean监听了ContextRefreshedEvent事件, 即当Spring初始化完成之后,会调用onApplicationEvent方法 服务的启动和注册,都是onApplicationEvent方法开始的。