使用EJB 3.0实体Bean的EJB 2.1会话Bean中的EntityManager注入是空的

时间:2016-09-08 15:36:06

标签: hibernate jpa jboss ejb ejb-3.0

我有一个使用EJB 2.1无状态会话bean和JDBC的应用程序。我想将JDBC移向EJB 3实体,因此我不必管理SQL,但由于时间的原因,我无法升级会话bean(因此他们必须继续遵循EJB 2.1规范)。

我已成功编写并使用注释测试实体,并使其在容器外正常工作。但是当我尝试在容器中运行它们并让JBoss使用依赖注入来在我的Session bean上设置EntityManager时,它永远不会起作用。基本上,EntityManager永远不会被设置并保留为null。

因此,是否可以在EJB 2.1会话bean上使用依赖注入,还是必须将所有内容都升级到EJB 3?我可以混合EJB 2.1和EJB 3.0功能吗?

这是我的环境信息: JDK 1.7 JBoss 4.2.3

提前致谢。

1 个答案:

答案 0 :(得分:0)

我无法判断您是否可以在ejb2.1中使用DI。我猜不会!

我发现这篇文章非常有用,因为它解决了你的方法中的一些问题:

Can EJB2 and EJB3 coexists in one application?

它描述了如何配置ejb3和2 bean在服务器上的存档中一起工作。这远不止我对这个话题的了解。