问题现象:
调用feign接口无任何反应、服务器也没任何日志
原因:
是否子线程发起了Feign的接口调用,feign不支持非主线程调用,此时会因为
RequestAttributes丢失导致无任何响应
解决方法:
1.避免子线程调用
2.主线程中获取RequestAttributes信息并传递给子线程
// 主线程中获取
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
// 子线程中设置
RequestContextHolder.setRequestAttributes(requestAttributes);
3.子线程中自己组织填充好RequestAttributes,保证数据不为null,也可以
4.特殊场景,可弃用openFeign,直接使用http方式调用