HSF源码阅读

1 服务提供者注册与发布

首先服务发布初始化bean,HSFSpringProviderBean实现了Spring的3个接口,将HSF的publish和Spring容器的生命周期绑定在一起。

1)InitializingBean,实现afterPropertiesSet接口,在init方法之前调用,执行服务发布的初始化信息

2)ApplicationContextAware,在该方法会在Spring容器加载Bean之前执行,这里面最关键的就是设定了isInSpringContainer=true。它对后面的初始化有什么用呢?一般我们在配置HSFSpringProviderBean都会指定它的init-method,也就是这个HSFSpringProviderBean加载完成后执行的一个初始化方法,这个初始化方法中就是判断isInSpringContainer的值,如果为true,则不会在这里执行publish操作。

3)ApplicationListener,这个方法会在所有的Bean初始化完成以后被Spring回调,这就保证了当所有的Bean初始化完成(包括各种设值注入和init方法执行)后,判断是事件ContextRefreshedEvent来执行publish方法,Spring销毁时,判断ContextClosedEvent事件,执行服务的关闭

2 服务消费者的订阅和被推送

3 服务消费者发起调用

4 服务提供方处理请求

5 服务消费者获取结果

过程后续慢慢补充。。。。

猜你喜欢

转载自www.cnblogs.com/wuchanming/p/9013330.html
hsf