[英]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.