gpt4 book ai didi

java - CDI:通过静态方法获取对 beanManager 的引用

转载 作者:行者123 更新时间:2023-12-01 11:29:33 24 4
gpt4 key购买 nike

我在java se上使用weld+paxcdi。我可以使用 beanManager 获取引用

@Inject
BeanManager beanManager;

但是,很明显,我只能在由 CDI 容器管理的对象中使用这种方式。如何在 new 创建的对象中获取对 beanmanager 的引用?

最佳答案

我假设这个问题涉及 OSGi,因为否则使用 Pax CDI 就没有意义。

Pax CDI 创建一个单独的 CDI 容器,从而为每个 Bean 包创建一个单独的 Bean 管理器。因此,当前 bean 管理器应该是什么并不是很明显。

从 Pax CDI 1.0.0.RC1 开始,如果方法目标是注入(inject),则从 OsgiServiceProvider 方法调用时,CDI.current() 会返回有意义的值调用类中的点。否则,CDI.current() 未定义。

Pax CDI 0.x 基于 CDI 1.0,因此不支持 CDI.current()

关于java - CDI:通过静态方法获取对 beanManager 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521944/

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