我已经获得了一个CDI bean,它是使用以下代码以编程方式获得的:
MyBean bean = CDI.current().select(MyBean.class, qualifier).get();
完成后,我是否需要使用
销毁此beanCDI.current().destroy (bean);
或者bean是否从我的类继承范围?
答案 0 :(得分:2)
或者bean是否从我的类继承范围?
绝对没有。它将具有您对MyBean
的任何范围。
我是否需要销毁此bean
如果您的豆子是正常的范围,您不需要这样做。但是,如果它被称为伪范围,则可能需要销毁它。
对于记录,正常范围是所有基本CDI范围, @Dependent
除外。
原因是@Dependent
生命周期(因此也会破坏)绑定到您注入它的bean。但你并没有真正注入它,而是你进行了程序化查找。因此,它不会绑定到任何其他bean,你应该销毁它。