openFeign调用接口无任何反应的原因及解决办法

问题现象:

        调用feign接口无任何反应、服务器也没任何日志

原因:

        是否子线程发起了Feign的接口调用,feign不支持非主线程调用,此时会因为

RequestAttributes丢失导致无任何响应

  解决方法:

        1.避免子线程调用

        2.主线程中获取RequestAttributes信息并传递给子线程

        

// 主线程中获取
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
// 子线程中设置
RequestContextHolder.setRequestAttributes(requestAttributes);

        3.子线程中自己组织填充好RequestAttributes,保证数据不为null,也可以

        4.特殊场景,可弃用openFeign,直接使用http方式调用

猜你喜欢

转载自blog.csdn.net/m0_37298500/article/details/129883313