HSF源码阅读
Posted Jessica要努力了。。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 服务消费者获取结果
过程后续慢慢补充。。。。
以上是关于HSF源码阅读的主要内容,如果未能解决你的问题,请参考以下文章
阅读源码,要学会根据源码发现问题,提出问题,让问题反过来驱动阅读源码
Flink源码阅读(11)--- Flink Task重启时机