gpt4 book ai didi

java - 我们是否需要销毁以编程方式获得的 CDI bean?

转载 作者:行者123 更新时间:2023-12-05 02:18:24 24 4
gpt4 key购买 nike

我已经获得了一个 CDI bean,它是使用以下代码以编程方式获得的:

MyBean bean = CDI.current().select(MyBean.class, qualifier).get();

完成后,我是否需要销毁这个 bean

CDI.current().destroy (bean);

或者 bean 是否从我的类继承了作用域?

最佳答案

Or does the bean inherit the scope from my class?

绝对不是。它将具有您赋予 MyBean 的任何范围。

do I need to destroy this bean

如果您的 bean 是正常范围的,则不需要这样做。但是,如果它是所谓的伪作用域,您可能需要销毁它。作为记录,正常作用域是所有基本 CDI 作用域除了 @Dependent

原因是 @Dependent 生命周期(也就是销毁)绑定(bind)到您注入(inject)它的 bean。但是您并没有真正注入(inject)它,而是进行了编程查找。因此,它没有绑定(bind)到任何其他 bean,您应该销毁它。

关于java - 我们是否需要销毁以编程方式获得的 CDI bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45294758/

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