首页 > 解决方案 > 范围“请求”对当前线程无效;在消息监听器中

问题描述

范围“请求”对当前线程无效;如果您打算从单例中引用它,请考虑为该 bean 定义一个作用域代理;嵌套异常是 java.lang.IllegalStateException:未找到线程绑定请求:您是指实际 Web 请求之外的请求属性,还是在原始接收线程之外处理请求?如果您实际上是在 Web 请求中操作并且仍然收到此消息,则您的代码可能在 DispatcherServlet/DispatcherPortlet 之外运行:在这种情况下,请使用 RequestContextListener 或 RequestContextFilter 来公开当前请求。

当我注入 spring 依赖项并在 MessageListener bean 中使用它时出现上述错误

标签: javaspringjmsspring-jmsmessage-listener

解决方案


请求范围仅在 Web (HTTP) 请求线程上可用,而在 JMS 侦听器容器线程上不可用。

您的依赖项似乎与 Web 层紧密耦合,并且并非旨在使用 JMS 调用。


推荐阅读