【问题标题】:Integrating spring Websession with spring reactive web flux将 Spring Websession 与 Spring Reactive Web Flux 集成
【发布时间】:2023-03-19 16:13:01
【问题描述】:

Spring 新的响应式 Web Flux API 有一个新的 http 会话实现,位于 here。 我想将最新的 Spring Web 会话集成到新的 Spring 响应式 Web Flux 中。我似乎无法得到它,我尝试将它作为 bean 注入,但它不起作用。我想像往常一样使用 HttpSession 注入它

类似

@Autowired
Websession webSession;

【问题讨论】:

    标签: spring spring-boot spring-webflux


    【解决方案1】:

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

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

    【讨论】:

    • 我希望能够在会话对象中设置一些参数,就像我使用 spring web mvc 一样,但似乎使用 web Flux 是不可能的
    • 这有点含糊;您可以将属性添加到 WebSession。随意创建一个新问题,准确说明您想做什么以及到目前为止您已经尝试过什么。从用例开始通常是一个好方法。
    猜你喜欢
    • 1970-01-01
    • 2017-09-21
    • 2019-09-14
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2012-10-20
    相关资源
    最近更新 更多