【问题标题】:Tomcat OpenEJB and CDITomcat OpenEJB 和 CDI
【发布时间】:2011-11-28 14:30:22
【问题描述】:

我正在使用嵌入在 Tomcat6.33 中的 OpenEJB 3.1 来测试我们的 EJB。现在我正在尝试在 EJB 中使用 CDI。我已经完成了在 Tomcat 中使用 CDI 的设置,所以现在我可以在我的 Servlet 中使用 @Inject 并且一切正常。

但是,当我尝试在我的 EJB 中使用 @Inject 时,它会因空指针而失败(因为未注入对象)。如何在 Tomcat 内的嵌入式 OpenEJB 中使用 CDI?

问候

【问题讨论】:

  • OpenEJB 4.x 中添加了 CDI 支持

标签: tomcat cdi openejb


【解决方案1】:

从您提供的信息中很难判断。您是否在相关项目中部署了 beans.xml?尝试查询 beanmanager 以了解周围的情况。您的 OpenEJB 组件是否被识别为 ManagedBeans?

【讨论】:

  • 是的,我的 beans.xml 在项目中。我试图查询 Bean Manager,但即使 BeanManager 也没有被注入。如何检查我的 OpenEJB 组件是否被识别为 ManagedBeans?
  • No BeanManager - 这闻起来像是您的设置有问题...我将注册一个小扩展,在@BeanDiscovery 之后转储您拥有的所有内容。您可以将 BeanManager 直接注入到观察者方法中。
  • 此设置适用于 TomEE plus 配置文件。但我正在尝试是否可以通过任何方式使用早期版本引导它,这样我们就不会强迫其他人升级。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
  • 2012-08-16
  • 1970-01-01
  • 2011-02-25
相关资源
最近更新 更多