作者:静待花开0088 | 来源:互联网 | 2023-09-24 15:22
1服务提供者注册与发布首先服务发布初始化bean,HSFSpringProviderBean实现了Spring的3个接口,将HSF的publish和Spring容器的生命周期绑定在
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源码阅读