gpt4 book ai didi

java - 使用 Java 8 并行流时松开 Java EE 请求范围是否正常?

转载 作者:搜寻专家 更新时间:2023-11-01 02:37:37 27 4
gpt4 key购买 nike

在我们公司,我们正在开发在 wildfly 10.1 中运行的准标准 REST 服务。每个请求都拥有一个租户 header ,该 header 将被过滤器拦截,租户信息将存储在 @RequestScoped bean 中,供以后在其余或服务层中使用。到目前为止,一切都很好。现在我们发现服务中的一些代码正在使用 Java 8 并行流并且无法使用 @RequestScoped bean 来查找当前租户。我们多次验证了这一点。使用非并行流为我们解决了这个问题。

这是正常行为吗?我们真的很困惑,使用标准的 Java 8 特性会破坏我们预期的容器行为。

还有其他我们需要处理的此类罪魁祸首吗?

最佳答案

It seems即使在托管上下文中,并行也会产生线程。

但是 RequestScoped 是使用 ThreadLocal 处理的(我们在这里仍然处于良好的旧多线程模型中,即 http Request = 1 线程)。

所以是的,这是正常的

关于java - 使用 Java 8 并行流时松开 Java EE 请求范围是否正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43607264/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com