使用多线程执行任务时报错:
No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
原因排查:子线程获取不到主线程的request等信息
解决:在多线程执行任务之前添加以下代码
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
RequestContextHolder.setRequestAttributes(servletRequestAttributes,true);//设置子线程共享
这样能解决通过web调用的问题。但是通过xxljob定时任务调用还是会报错,因为没有可用request,
求大佬提供解决办法