Glassfish 将字符串“ejb”附加到特定 mobule 的 EJB 的 JNDI
Posted
技术标签:
【中文标题】Glassfish 将字符串“ejb”附加到特定 mobule 的 EJB 的 JNDI【英文标题】:Glassfish appends a string "ejb" to JNDI of a particular mobule's EJBs 【发布时间】:2012-10-01 12:26:58 【问题描述】:我有一个带有多个 EJB jar 的 EAR,例如:
module1.jar module2.jar但是当我在日志中部署应用程序时,我可以看到module1.jar
的ejb-s 部署了一个奇怪的JNDI 名称:
java:global/myappl/
module1ejb/ejb1
EJB ejb2 的可移植 JNDI 名称:java:global/myappl/
module1ejb/ejb2
但是其余的模块是定期部署的(没有ejb
以模块名称结尾):
java:global/myappl/
module2/ejb1
EJB ejb2 的可移植 JNDI 名称:java:global/myappl/
module2/ejb2
是什么让 Glassfish 附加以 JNDI 结尾的 "ejb"?
Glassfish 版本:3.1.1
重启几次都没有用,delete generated,osgi-cache等
【问题讨论】:
【参考方案1】:终于发现问题了:在application.xml
定义中module1
偶尔会翻倍:
<module>
<ejb>module1.jar</ejb>
</module>
...
<module>
<ejb>module1.jar</ejb>
</module>
删除重复后,JNDI 名称又正常了。
【讨论】:
以上是关于Glassfish 将字符串“ejb”附加到特定 mobule 的 EJB 的 JNDI的主要内容,如果未能解决你的问题,请参考以下文章
如何将 jar 部署到 glassfish,其中包含一个主要方法?
是否可以在 GlassFish 3.1 上为无状态 ejb Web 服务定义 servlet 过滤器
从EJB注入到servlet的NullPointerException