JNDI名称是否必须对EJB是唯一的?
我的代码中有两个EJB引用同一个远程文件,因此它具有相同的JNDI名称 抛出此异常
调用init方法失败; javax.naming.NamingException wildfly
和BEAN和Remote在两个不同的罐子里
答案 0 :(得分:1)
这取决于部署。 JNDI名称必须仅对于相同的Jave EE模块是唯一的。因此,如果你在一个EAR中有两个ejb-jar文件,每个文件都会得到它自己的命名空间,你可以用格式引用它们
的java:命名空间/ [应用名称] /模块名/豆名称/ [!完全合格的接口名称]
如果在.war文件中部署jar,那么你的ejb将不是独立的Java EE模块,并将与.war共享它的JNDI名称空间。