将 spring Websession 与 spring 反应式 Web 通量集成

Agb*_*saq 3 spring spring-boot spring-webflux

这里是位于春装新款反应网络流量API的新实现会话的HTTP这里。我想将最新的 spring web session 集成到新的 spring 反应网络流量中。我似乎无法得到它,我尝试将它作为 bean 注入,但它不起作用。我想像往常一样注入 HttpSession

就像是

@Autowired
Websession webSession;
Run Code Online (Sandbox Code Playgroud)

Bri*_*zel 5

由于 Spring WebFlux 是一个响应式 Web 框架,因此您不能期望 Web Session 作为 bean 注入(即使在请求范围内)。在 Servlet 世界中,每个请求/响应都在单个线程中处理,这支持这些方法(即“请求”范围)。使用 WebFlux,一个给定的请求可以被多个线程处理。

WebSession与当前请求/响应关联的实例实际上附加到ServerWebExchange(参见getSession)。由于反应式编程模型的性质,您很可能会在 Reactor 运算符中访问该会话 - 因此您不能指望将此实例注入应用程序的其他位置。