gpt4 book ai didi

java - 将 EVENT 范围的 bean 注入(inject)到 CONVERSATION/SESSION 范围的 bean 中是否更安全?

转载 作者:行者123 更新时间:2023-11-30 11:52:46 24 4
gpt4 key购买 nike

将范围较窄的 bean 注入(inject)范围较广的 bean 是否安全?

Seam CDI 是否会处理它以找出当前的 EVENT/REQUEST/PAGE 上下文以正确注入(inject) SESSION/CONVERSATION bean。

我的观点是。我不希望一个页面/事件的对象与其他页面/事件的数据混淆。

我总是可以在方法中使用 Component.getInstance() 来确保我无论如何都能获得当前事件/页面的 bean。但我想为此使用 @In(scope = ScopeType.EVENT)

最佳答案

session 和页面范围内的组件默认是同步的。因此,向其中注入(inject)一个事件范围的组件(例如 EntityManager)应该是安全的。由于是同步的,因此两个请求不会干扰两个不同的注入(inject)对象。

为了完全确定您不会遇到并发问题,我建议您不要注入(inject)这些组件,而是从组件存储库中获取它们:

MyComponent myComponent = (MyComponent) Component.getInstance("myComponent");

关于java - 将 EVENT 范围的 bean 注入(inject)到 CONVERSATION/SESSION 范围的 bean 中是否更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687843/

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