【问题标题】:JNDI Naming Uniqueness?JNDI 命名唯一性?
【发布时间】:2017-06-13 06:27:20
【问题描述】:

对于 EJB,JNDI 名称是否必须是唯一的?

我的代码中的两个 EJB 引用同一个远程文件,所以它具有相同的 JNDI 名称 抛出此异常

init 方法调用失败; javax.naming.NamingException 野蝇

并且 BEAN 和 Remote 在两个不同的 jar 中

【问题讨论】:

  • 请出示您的代码。您的问题目前非常模糊。
  • JNDI 名称必须是唯一的。它们用于识别应用服务器内的资源。可能您为 bean 定义了相同的别名,或者模块名称相同。请提供更多代码。

标签: java spring wildfly jndi wildfly-10


【解决方案1】:

这取决于部署。 JNDI 名称只能在相同的 Jave EE 模块中唯一。因此,如果您在一个 EAR 中有两个 ejb-jar 文件,则每个文件都会有自己的命名空间,并且您以格式引用它们

java:namespace/[app-name]/module-name/bean-name/[!fully-qualified-interface-name]

如果你在 .war 文件中部署你的 jar,那么你的 ejb 将不是独立的 Java EE 模块,而是与 .war 共享它的 JNDI 命名空间。

【讨论】:

    猜你喜欢
    • 2012-01-22
    • 2014-02-05
    • 2011-12-06
    • 1970-01-01
    • 2020-04-11
    • 2018-04-20
    • 2013-12-16
    • 2011-06-17
    • 2015-11-18
    相关资源
    最近更新 更多