一、该问题的重现步骤是什么?
1. 微服务加入seata后。a服务调用b服务开启全局事务,会出现b服务拿不到AuthUtil的user对象,是正常的,还是seata配置错误
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
上面回答的也不完整,你找到了位置,但是没说出来问题所在
BladeSentinelAutoConfiguration.java中修改下下面的代码即可。原因:开启了seata,seata中有个feign的Interceptor和BladeFeignRequestInterceptor实现了同一个接口,下面代码生成对象时就用了seata的那个了,不会走下面的方法了,固feign调用时请求头传递不过去了
@Bean
@ConditionalOnMissingBean(name = "bladeFeignRequestInterceptor")
public RequestInterceptor requestInterceptor() {
return new BladeFeignRequestInterceptor();
}
楼主,采纳吧,这个问题,我一点点debug,找了一天才找到问题所在。
扫一扫访问 Blade技术社区 移动端