Java Glassfish附加了一个字符串;ejb“;到特定mobule的JNDI';s EJB

Java Glassfish附加了一个字符串;ejb“;到特定mobule的JNDI';s EJB,java,jakarta-ee,glassfish,ejb,glassfish-3,Java,Jakarta Ee,Glassfish,Ejb,Glassfish 3,我对多个EJB jar很敏感,比如: 模块1.jar module2.jar 但是当我在日志中部署应用程序时,我可以看到module1.jar的ejb-s使用一个奇怪的JNDI名称进行部署: ejb1的可移植JNDI名称:java:global/myappl/module1ejb/ejb1 ejbejb2的可移植JNDI名称:java:global/myappl/module1ejb/ejb2 但是其余的模块是定期部署的(没有以模块名结尾的ejb): ejb1的可移植JNDI名称:ja

我对多个EJB jar很敏感,比如:

  • 模块1.jar
  • module2.jar
但是当我在日志中部署应用程序时,我可以看到
module1.jar
的ejb-s使用一个奇怪的JNDI名称进行部署:

  • ejb1的可移植JNDI名称:
    java:global/myappl/
    module1ejb
    /ejb1
  • ejbejb2的可移植JNDI名称:
    java:global/myappl/
    module1ejb
    /ejb2
但是其余的模块是定期部署的(没有以模块名结尾的
ejb
):

  • ejb1的可移植JNDI名称:
    java:global/myappl/
    module2
    /ejb1
  • EJB ejb2的可移植JNDI名称:
    java:global/myappl/
    module2
    /ejb2
是什么让Glassfish附加以JNDI结尾的“ejb”

Glassfish版本:3.1.1


多次重新启动、删除生成的、osgi缓存等都没有帮助。

最后我发现了问题:在
应用程序中,
模块1的xml
定义偶尔会加倍:

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

模块1.jar
...
模块1.jar
在我删除了重复项之后,JNDI名称再次成为常规名称