1、远程调用丢失请求头
原因:feign会创建一个新的请求,没有任何请求头
解决:加feign拦截器,新requst会经过拦截器
@Config
Class FeignConfig {
@bean
public RequestInterceptor requestInterceptor(){
从旧请求拿到session
给新template 设置请求头
}
}
2、异步情况丢失上下文问题
原因:RequestContextHolder使用的ThreadLocal是单线程共享
解决:每个线程使用RequestContextHolder设置一次context
本文探讨了远程调用中丢失请求头的问题及其解决方案,并深入分析了异步场景下上下文丢失的原因及应对策略。通过实现自定义的Feign拦截器,可以为新的请求设置所需的请求头。此外,针对异步情况下的上下文丢失问题,文章提供了通过每个线程单独设置RequestContextHolder的解决方法。
167万+

被折叠的 条评论
为什么被折叠?



