EJB 的 JNDI 名称是否必须是唯一的?
我的代码中的两个 EJB 引用同一个远程文件,因此它具有相同的 JNDI 名称 抛出此异常
Invocation of init method failed; javax.naming.NamingException wildfly
BEAN 和 Remote 位于两个不同的 jar 中
最佳答案
这取决于部署。 JNDI 名称仅对于相同的 Jave EE 模块必须是唯一的。因此,如果一个 EAR 中有两个 ejb-jar 文件,每个文件都会有自己的命名空间,并且您可以以
格式引用它们java:namespace/[应用程序名称]/模块名称/bean 名称/[!完全限定接口(interface)名称]
如果你将jar部署在.war文件中,那么你的ejb将不是独立的Java EE模块,并且将与.war共享它的JNDI命名空间。
关于java - JNDI 命名唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513805/