Spring Boot 如何在Vaadin Broadcaster中使用@SessionScope bean?

n3h0vuf2  于 2022-12-23  发布在  Spring
关注(0)|答案(1)|浏览(139)

我正在使用 Boot 和VaadinFlow(最新版本),并且尝试了broadcast示例,它工作正常,但是当我尝试将接收到的消息传递给@SessionScope注解bean时,我收到了一个异常
第一个月
对此有什么提示吗?提前感谢您的时间!

l7wslrjt

l7wslrjt1#

据我了解,事情是这样的:Spring的@SessionScope bean是为每个HTTP会话创建的,或者正如documentation所说,
[@SessionScope]将单个Bean定义的范围限定为HTTP会话的生命周期。仅在Web感知Spring ApplicationContext的上下文中有效。
这意味着您需要在HTTP会话的上下文中工作,正如错误消息所述,
未找到线程绑定请求:您是否引用了实际Web请求之外的请求属性?
Broadcaster模式的示例实现使用了一个由Executors.newSingleThreadExecutor()创建的简单后台线程执行器-该线程对HTTP请求或会话一无所知,特别是它不是running in the context of a web-aware Spring ApplicationContext.
你的实际问题在问题中是看不见的,但希望这个答案能澄清你的错误,帮助你继续前进。

相关问题