在 Java EE 6 / CDI 中,获取对封闭范围的引用的正确方法是什么
In Java EE 6 / CDI what is the correct way to get a reference to the enclosing scope
在 Java EE(6)/CDI 中获取对封闭范围的引用的正确方法是什么? (考虑调试。)
不完全确定你的问题是什么意思,但如果你想访问给定范围内的当前活动上下文,你总是可以
@Inject
private BeanManager beanManager;
...
beanManager.getContext(MyScopeAnnotation.class);
如果您想了解当前 bean 的作用域,您可以调用
beanManager.getBeans(MyClass.class).iterator().next().getScope();
缺点是这种方法不会让您知道是否有人在注入点覆盖范围。
在 Java EE(6)/CDI 中获取对封闭范围的引用的正确方法是什么? (考虑调试。)
不完全确定你的问题是什么意思,但如果你想访问给定范围内的当前活动上下文,你总是可以
@Inject
private BeanManager beanManager;
...
beanManager.getContext(MyScopeAnnotation.class);
如果您想了解当前 bean 的作用域,您可以调用
beanManager.getBeans(MyClass.class).iterator().next().getScope();
缺点是这种方法不会让您知道是否有人在注入点覆盖范围。