我有一个使用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
提前致谢。
答案 0 :(得分:0)
我无法判断您是否可以在ejb2.1中使用DI。我猜不会!
我发现这篇文章非常有用,因为它解决了你的方法中的一些问题:
Can EJB2 and EJB3 coexists in one application?
它描述了如何配置ejb3和2 bean在服务器上的存档中一起工作。这远不止我对这个话题的了解。