码迷,mamicode.com
首页 > 其他好文 > 详细

dubbo源码分析8——服务暴露概述

时间:2017-09-26 19:38:32      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:父类   erp   工作   解析   out   text   ini   初始化   context   

从上文中可知,com.alibaba.dubbo.config.spring.ServiceBean类是负责解析<dubbo:service/>的配置的,下面是它的类图

技术分享

从类图上可知它继承了ServiceConfig类,并实现了5个接口,在这5个接口中有两个接口比较重要,其中InitializingBean是进行bean的初始化工作的,ApplicationListener接口是监听spring容器事件的。先通过outline视图观察一下ServiceBean类:

技术分享   从outline视图中可以发现,ServiceBean类并没做什么保存配置的工作,保存配置的工作主要是由它的父类在承担。结合源码可以看到ServiceBean类的真正作用是两个:

1. 对服务Bean的实例进行初始化,详见afterPropertiesSet()方法

2. 暴露服务,详见onApplicationEvent(ApplicationEvent event)方法,这个方法的触发时机是在spring的IOC容器完成所有的bean的实例化和初始化工作之后,会发出一个ContextRefreshedEvent类型的事件,如果我们关心该类型事件则实现ApplicationListener接口就可以,IOC容器就会在恰当的时机去调用我们实现的ApplicationListener接口中的代码逻辑, 而dubbo就是利用这个机制和时机完成了每个服务接口的暴露工作。

dubbo源码分析8——服务暴露概述

标签:父类   erp   工作   解析   out   text   ini   初始化   context   

原文地址:http://www.cnblogs.com/hzhuxin/p/7598051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!