- 由于篇幅过长,将该模块单独拎出一节,接上文Hmily 源码解析(二)—— 执行主体方法
-
上文我们把主体方法的执行及Feign的相关配置讲解了,知道在调用微服务时把对应的HmilyTransactionContext实例以“HMILY_TRANSACTION_CONTEXT”为key作为请求参数一同发送过来,及调用微服务成功之后会把调用接口的方法(有@Hmily注解的)封装为HmilyParticipant实例异步存储到存储到HmilyTransaction实例中。
-
现在接着讲在库存微服务接收到请求后会如何执行请求并做了哪些操作。
-
如下请求调用一开就需要先进入Hmily切面程序
- 根据前文,前面的类不再重复介绍,现在执行到了interceptor方法,首先这个请求刚开始,这个线程内还未存在HmilyTransactionContext实例。所以到下面这个else模块,这里很重要,我们记得前面在请求头里面有存在“HMILY_TRANSACTION_CONTEXT”为key的HmilyTransactionContext实例信息,现在就从这里取出来了。致此我们了解了微服务间是如何实现关