【发布时间】:2010-06-24 12:56:16
【问题描述】:
我有几个应用程序范围的组件。根据我所处的环境,我想安装一个或另一个。在 JBoss Seam 中,我会使用 @Install(false),然后通过 components.xml 配置我想要的 bean。
在 CDI / WELD 中有类似的方法吗?
谢谢,
沃尔特
【问题讨论】:
标签: java jakarta-ee cdi jboss-weld
我有几个应用程序范围的组件。根据我所处的环境,我想安装一个或另一个。在 JBoss Seam 中,我会使用 @Install(false),然后通过 components.xml 配置我想要的 bean。
在 CDI / WELD 中有类似的方法吗?
谢谢,
沃尔特
【问题讨论】:
标签: java jakarta-ee cdi jboss-weld
好吧,您始终可以使用生产者方法并根据您的某些配置决定要实例化哪个实现。请记住,在 CDI 中,xml 的数量被降至最低。
所以,类似:
@Produces
public Component createComponent() {
if (configuration.isSomething()) {
return new ComponentImpl1();
} else {
return new ComponentImpl2();
}
}
【讨论】: