java - Glassfish 将字符串 "ejb"附加到特定 mobule 的 EJB 的 JNDI

标签 java jakarta-ee glassfish ejb glassfish-3

我有一个带有多个 EJB jar 的 EAR,例如:

  • module1.jar
  • module2.jar

但是当我在日志中部署应用程序时,我可以看到 module1.jar 的 ejb-s 部署了一个奇怪的 JNDI 名称:

  • EJB ejb1 的可移植 JNDI 名称:java:global/myappl/module1ejb/ejb1
  • EJB ejb2 的可移植 JNDI 名称:java:global/myappl/module1ejb/ejb2

但是其余的模块是定期部署的(没有 ejb 以模块名称结尾):

  • EJB ejb1 的可移植 JNDI 名称:java:global/myappl/module2/ejb1
  • EJB ejb2 的可移植 JNDI 名称:java:global/myappl/module2/ejb2

是什么让 Glassfish 附加以 JNDI 结尾的 “ejb”

Glassfish 版本:3.1.1

重启了几次,删除generated,osgi-cache等都无济于事

最佳答案

最后我发现了问题:在 application.xmlmodule1 的定义偶尔会加倍:

<module>
    <ejb>module1.jar</ejb>
</module>
...
<module>
    <ejb>module1.jar</ejb>
</module>

删除重复后,JNDI 名称又正常了。

关于java - Glassfish 将字符串 "ejb"附加到特定 mobule 的 EJB 的 JNDI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673246/

相关文章:

java - 使用 Java 在 Raspberry Pi 3 上读取和写入 USB 设备

java - 如何从 LongStream 创建 map

java - 如何检查给定路径是否可能是另一条路径的子路径?

java - JVM 代理参数一夜之间重置?

java - 由于集群时可能出现的问题,Servlet 不应启动线程....什么问题?

java - JSP 函数输出在错误的位置?为什么?

java - 从 DATE 到 java.time.LocalDate 的 JPA 转换器不适用于 Glassfish 4.1

java - 如何使用正则表达式匹配正斜杠

java - 清理ActiveMQ对象

tomcat - 部署到tomcat服务器时出现JPA错误