No thread-bound request found Are you referring to request attributes ...

打印 上一主题 下一主题

主题 1000|帖子 1000|积分 3000

问题征象

今天发现线上的一个报警,定时任务执行的时候发生了如下报警,哎就希奇了为啥会有这种的报警呢,测试和预发情况都没有问题呀。通过一通排查,终极发现是代码利用的地方有问题,估做一个纪录,克制以后再踩坑。

   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 e xpose the current request.
  问题原因

首先翻译上面的报错如下:
   没有找到与线程绑定的哀求:你是指在实际的web哀求之外引用哀求属性,还是在最初吸收哀求的线程之外处置惩罚哀求?如果你确着实web哀求中操纵,但仍旧收到这个消息,那么你的代码可能在DispatcherServlet之外运行:在这种情况下,利用RequestContextListener或RequestContextFilter来暴露当前哀求。
  由于这个错误信息是与Spring框架相关的,通常发生在实验在实际的web哀求之外访问哀求属性,或者在最初吸收哀求的线程之外处置惩罚哀求时。如果你正在处置惩罚一个web哀求但仍旧收到这个错误信息,那么很可能是由于你的代码在DispatcherServlet之外运行。DispatcherServlet负责处置惩罚web哀求并在Spring框架中管理哀求的生命周期。
  问题办理:

看到这其实代码也就显而易见了,代码里有一段这个逻辑,通过哀求上下文获取用户信息。这也就是定时任务发起的哀求为啥会报这个错误了。办理就是不能通过Web哀求获取用户信息终于搞明白了。
  1. ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest()
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我可以不吃啊

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表