Reference 如何将EJB2.1添加到JavaEE6中

Reference 如何将EJB2.1添加到JavaEE6中,reference,java-ee-6,ejb-2.x,Reference,Java Ee 6,Ejb 2.x,有没有一种方法可以将EJB2.x项目用作JavaEE6项目的jar 我使用RationalApplicationDeveloper作为IDE。我可以将EJB2.x项目添加为JavaEE实用程序jar。并在部署到服务器后手动添加对application.xml的引用,而不是在服务器自动启动ejb jar时 我想使用注释创建一个与JavaEE6兼容的新项目,不使用application.xml,也不使用web.xml。然而,我必须使用EJB2.x项目作为jar。我的问题是我怎样才能完成这项任务 提前

有没有一种方法可以将EJB2.x项目用作JavaEE6项目的jar

我使用RationalApplicationDeveloper作为IDE。我可以将EJB2.x项目添加为JavaEE实用程序jar。并在部署到服务器后手动添加对application.xml的引用,而不是在服务器自动启动ejb jar时

我想使用注释创建一个与JavaEE6兼容的新项目,不使用application.xml,也不使用web.xml。然而,我必须使用EJB2.x项目作为jar。我的问题是我怎样才能完成这项任务


提前感谢您的回答

您可以并行使用EJB2.1和3.x,我们在一个应用程序中也使用了EJB2.1和3.x,这个应用程序已经有相当一段时间了,还没有完全迁移

对于旧部件,您仍然需要对所有部署描述符进行相同的设置,正如@bkail指出的那样


但是如果可能的话,如果您有机会创建一个基于JavaEE6的现代应用程序,我强烈建议您不要混淆这些东西。最好尝试与仍然需要的旧部分进行接口,并将其作为一个单独的应用程序,使用旧的EJB,或在新旧应用程序之间引入临时接口,直到迁移为止。

请忘记EJB2.x曾经存在过,而使用EJB3.x。2.x是一个真正的痛苦,它不值得,因为一个新的、简化了很多的规范3.x已经发布了将近8年了。谢谢Stefano。EJB2.x项目不属于我,但我必须使用它。项目负责人正在计划迁移,但我有时间问题。这是一个关于RAD的问题吗?如果是,请将RAD标记添加到列表的前面,或者这是一个关于Java EE 6的问题?如果是后者,则添加一个EJB2.x模块,与其他模块相同:只需将其包含在EAR中。因为它是一个EJB2.x模块,所以它必须有一个EJB-jar.xml,所以如果您没有application.xml,它将自动被发现。我可以将EJB项目用作实用程序JAR而不是项目吗?XYZEJB.jar已经符合规范。如果一个ejb2.x beanbean使用另一个ejbbean,BeanA必须链接到ejb-jar.xml中的BeanB。但是在EJB3.1中,这个任务是由@Ejb注释完成的。我认为在从Bean3.1访问Bean2.x时必须使用查找方法。在我的新EJB3.1项目中,我没有直接使用EJB2.Xbean。我正在使用一个包装ejbbean的包装器类。但此时,从3.1到2.x ejb的查找失败。如何解决查找问题?您可以通过使用容器特定的JNDI名称将2.x bean直接注入到3.1 bean中。参见示例。这就是我试图将其接口的意思,而不是将两者都放在一个应用程序中。ServerWAS日志如下…绑定位置是:ejblocal:ejb/tr/gov/system/ejb/systemutilitesmanagerlocalhome…绑定位置是:java:global/AsyncMessagingEAR/SystemEJB/systemutilitesmanager!tr.gov.system.ejb.SystemUtilitiesManagerLocalHome我使用第一个来查找。这种方法是全球性的还是针对WAS的。