【问题标题】:CDI Extension class makes Wildfly container bean discovery failCDI 扩展类使 Wildfly 容器 bean 发现失败
【发布时间】:2017-11-21 17:48:16
【问题描述】:

在准备添加自定义 CDI 范围时,我添加了一个实现 CDI spi 扩展接口的类。该类中没有代码:

public class TaskScopedExtension implements Extension, Serializable {
}

仅在部署中包含该类会导致所有其他 CDI bean 发现失败。我没有添加任何其他代码或文件。显然 Wildfly 会扫描部署以寻找扩展,但我无法弄清楚为什么仅包含该类会导致其余注入失败。我在 Java EE 或 Weld 文档中没有发现任何有用的信息。我尝试在 bean 发现事件之前和之后添加 Observables,并尝试将 javax.enterprise.inject.spi.Extension 文件添加到部署中。这些似乎都没有什么不同。

感谢任何帮助。

【问题讨论】:

    标签: jakarta-ee wildfly cdi custom-scope


    【解决方案1】:

    我想您遇到了规范中一个非常特殊的部分。也许为了向后兼容而保留了剩余部分。这是12.1 Bean Archives 部分 - “包含扩展名且没有 beans.xml 文件的存档不是 bean 存档。

    添加 beans.xml 和所需的发现模式(甚至是空的),你应该让它再次运行。

    【讨论】:

      猜你喜欢
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-02
      相关资源
      最近更新 更多