子线程共享主线程request

子线程共享主线程reqeust

应用背景

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

解决方法

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

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

你可能感兴趣的:(多线程,多线程)