java - 部署多个 2.1 EJB 时的 OC4J 10.1.3.4 问题

标签 java jakarta-ee ejb oc4j ejb-jar.xml

我在从 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 模块,并查找相同的 ejb-jar.xml 文件 N 次(其中 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”,它们将起作用。但这并不可取。

最佳答案

您应该检查 Oracle 文档以了解哪种情况适合您的情况。 Oracle® Containers for J2EE Enterprise JavaBeans 开发人员指南是一个良好的开始 根据 Oracle® Containers for J2EE Services Guide,第 2 章:使用 JNDI 当您使用“ejb/EJBName”形式时,您执行“本地”查找。如果您想使用完整的表单,则必须检查“使用 JNDI”一章的“启用全局 JNDI 查找”部分。

关于java - 部署多个 2.1 EJB 时的 OC4J 10.1.3.4 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/141733/

相关文章:

java - 如何跨区域解析CopySnapshotRequest 'protocol must not be null'

java - 在 web.xml 中切换 <secure> true 或 false 的最快方法

java - java中的算术平均值

java - 强制方法调用 null 变量以抛出 NullPointerException

java - Hibernate多对多数据检索

java - 如何从 ejb3 session bean 返回一个很长的列表?

java - Stateless ejb 不删除池

java - 如何将无状态 session Bean 注入(inject)消息驱动 Bean?

java - EJB引用配置

java - 指定jar内xsl文件的正确路径