基于环境属性启用 CDI Alternative

Enabling CDI Alternative based on environmental properties

我知道可以在要部署的 EAR 中嵌入的 "beans.xml" 文件中配置 Alternatives。

问题是我对所有环境使用相同的 EAR,并且属性集或特定配置存储在包外的某个文件夹中。

我需要根据 "external beans.xml" 或某种类似机制(EAR 之外的东西)配置我将使用的替代方案。

有什么想法吗?

非常感谢。

如果属性不在包内,则不能使用替代品。 您可以编写一个 CDI 生产者 来读取属性并使用 BeanManager return 写入实现。