gpt4 book ai didi

java - 使用 CDI 发现 bean 类的较晚

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:49 24 4
gpt4 key购买 nike

我正在使用 CDI 创建一个 Java Web 应用程序。 My War 包含各种作为 bean 源的 Jar 文件(包括 META-INF/beans.xml 文件)。当在 JBoss 等 Java EE 容器中运行时,我的 bean 会被自动发现(我目前使用的是 JBoss AS 7.1.1)。这一切运行良好。

我希望能够扩展 Web 应用程序,理想情况下是允许它从存储在可配置位置(即系统属性指定的位置)的 Jar 文件中加载类。这也很好,因为我可以使用类加载器来解析类和资源。我缺少的是让 CDI 扫描这些外部 Jar 文件并包含它们的 beans 的能力。

这将允许我的应用程序托管插件功能,包括新的 REST 资源。我不介意是否必须重新启动应用程序才能获取这些外部 Jar 文件中包含的类和资源。

我看不出有什么办法可以实现这一点。在这种环境下还应该尝试这种做法吗?

最佳答案

I can see no way of achieving this.

您实际上有两个选择:

  1. 使用CDI extension mechanism使用 bean/bean-archives在启动时并按照您想要的方式修改它们。查看文档中提供的示例,这应该会给您一个开始。
  2. BeanManager 合作在执行时。看看this类似的问题。

关于java - 使用 CDI 发现 bean 类的较晚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11414232/

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