服务暴与注册流程:
1、容器启动时会根据注册DubboBeanDefinitionParser的解析器解析dubbo相关的配置(ServiceBean、ProtocolConfig、ProviderConfig、ConsumerConfig等)。
2、当Spring容器启动完成调用finishRefresh()方法,触发ServiceBean的ContextRefreshedEvent事件:
a) ServiceBean调用父类ServiceConfig.export()方法将Bean对象转换URL格式并将服务暴露出来;
b) 调用RegistryProtocol.register()方法将服务注册到Zookeeper、Redis环境上;
其注册流程如下:
备注:META-INF/dubbo.internal可以加载相关的对象实例,也可以通过配置META-INF/dubbo META-INF/services扩展自己的相关实现(filter、Listener等),配置可参见META-INF/dubbo.internal目录下的相关文件。