使Toplink事件侦听器类CDI感知



我们使用Toplink 11(没有JPA)作为Java EE应用程序的持久性框架。在Toplink配置文件sessions.xml中,我们定义了一个侦听器类:

<event-listener-class>my.application.EventListener</event-listener-class>

这工作得很好,但是现在我想通过CDI @Inject将依赖项注入到这个侦听器类中。

并不奇怪,这不起作用,注入的对象是null。可能是因为Toplink自己实例化了侦听器类,绕过了CDI生命周期。

是否有一种方法可以在CDI生命周期内拥有侦听器类?
或者,我可以手动"注入"CDI管理bean到类中,例如在构造函数中?

在EntityListener中使用CDI的能力是在JPA 2.1中引入的。

根据本指南,JPA 2.1可以从TopLink 12.1.3开始启用。是否有可能将您的环境升级到该版本?

或者,简单地将捆绑的eclipselink.jar文件更新到新版本就足够了。

Apache CODI或JBoss Seam也值得一看。

相关内容

  • 没有找到相关文章

最新更新