我在从 OC4J 10.1.2.3 迁移到 10.1.3.1.4 时遇到问题。问题在于具有多个 EJB 的应用程序(都是 2.1,没有 EJB 3.0)。Jdeveloper 将采用默认的 ejb-jar.xml(Jdeveloper 在其独立的 OC4J 实例上运行它所需的文件)并将其打包到每个 EJB JAR 模块中,不管是什么。这导致应用服务器在部署时深入每个 EJB JAR 模块,并找到 N 次相同的 ejb-jar.xml 文件(其中 N = EJB 模块的数量)。这会导致重复的 EJB 引用,并会破坏任何 JNDI 查找,例如:“java:comp/env/ejb/EJBName”。因此,部署具有 3 个 EJB、EJB1、EJB2 和 EJB3 的应用程序会导致应用程序服务器注册 9 个 EJB 而不是 3 个。我需要一种最佳实践方式,但在 10.1.3.4 和 JDeveloper 执行的方式之间,情况相当糟糕...
旁注:如果 Web 应用程序的 JNDI 查找代码被重构为“ejb/EJBName”,它们将起作用。但是,这是不可取的。