繁体   English   中英

将 EVENT 范围的 bean 注入到 CONVERSATION/SESSION 范围的 bean 中是否更安全?

[英]Is it safer to inject an EVENT scoped bean into a CONVERSATION/SESSION scoped bean?

将较窄的 scope 中的 bean 注入到范围广泛的 bean 中是否安全?

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

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

我总是可以在方法中使用 Component.getInstance() 来确保我得到当前事件/页面的 bean。 但我什至想使用@In(scope = ScopeType.EVENT)

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM