异步子线程共享主线程request

tech2023-06-07  108

异步子线程共享主线程reqeust

应用背景

在springboot项目中,使用RequestContextHolder获取reqeust信息,开发一个异步接口时发现子线程在主线程结束后获取不到request,导致调用微服务接口报以下错误信息:

解决方法

开启线程之前,设置servletRequestAttributes子线程共享

ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); RequestContextHolder.setRequestAttributes(servletRequestAttributes, true);//设置子线程共享 HttpServletRequest request = servletRequestAttributes.getRequest();
最新回复(0)