Java Glassfish附加了一个字符串;ejb“;到特定mobule的JNDI';s EJB
我对多个EJB jar很敏感,比如: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
- 模块1.jar
- module2.jar
module1.jar
的ejb-s使用一个奇怪的JNDI名称进行部署:
- ejb1的可移植JNDI名称:
module1ejbjava:global/myappl/
/ejb1
- ejbejb2的可移植JNDI名称:
module1ejbjava:global/myappl/
/ejb2
ejb
):
- ejb1的可移植JNDI名称:
module2java:global/myappl/
/ejb1
- EJB ejb2的可移植JNDI名称:
module2java:global/myappl/
/ejb2
多次重新启动、删除生成的、osgi缓存等都没有帮助。最后我发现了问题:在
应用程序中,模块1的xml
定义偶尔会加倍:
<module>
<ejb>module1.jar</ejb>
</module>
...
<module>
<ejb>module1.jar</ejb>
</module>
模块1.jar
...
模块1.jar
在我删除了重复项之后,JNDI名称再次成为常规名称