gpt4 book ai didi

java - 如何在 CDI 1.2 中创建单例

转载 作者:行者123 更新时间:2023-11-29 08:35:59 24 4
gpt4 key购买 nike

我使用支持 CDI 1.2 的 weld 2.3.5。我遇到了一个问题,即用 @javax.inject.Singleton 注释的 CDI bean 被容器忽略 (bean-discovery-mode="annotated")。

谷歌搜索后,我仍然找不到有关单例和 CDI 1.2 的信息。谁能解释一下情况并举例说明如何使用 CDI 1.2 制作单例 CDI bean。

最佳答案

使用 bean 发现模式 annotated,CDI 将只选择使用所谓的 bean 定义注释 注释的 bean。 spec clearly defines these正如您所料,@Singleton 不在其中。

要使您的单例可识别,最简单的方法是使用发现模式all,但我想您希望避免这种情况。在这种情况下,也许可以使用扩展来注册您的单例的注释类型 - CDI 应该能够从那里获取。

再一次,CDI @Singleton 的使用非常有限/特定,因为它是一个非代理伪作用域。 在大多数情况下,@ApplicationScoped 将完全按照您的意愿执行,因此请确保在执行任何额外工作之前考虑到这一点。

关于java - 如何在 CDI 1.2 中创建单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097337/

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