2017-06-13 80 views
0

是否有必要讓JNDI名稱對EJB唯一?JNDI命名唯一性?

兩個EJB在我的代碼指的是同一遠程文件,因此,它具有相同的JNDI名稱 會拋出該異常

init方法的調用失敗; javax.naming.NamingException中wildfly

,豆類和遠程是在兩個不同的罐子

+0

請顯示您的代碼。你的問題目前非常模糊。 –

+0

** JNDI名稱必須是唯一的**。它們用於識別應用服務器內部的資源。可能你有與bean定義的相同的別名,或者模塊名稱相同。請提供更多代碼。 – Christian13467

回答

1

這取決於部署。只有使用相同的Jave EE模塊時,JNDI名稱才必須唯一。所以,如果你有一隻耳朵內的兩個EJB-JAR文件,每個將獲得它自己的命名空間,並引用它們的格式

的java:命名空間/ [應用程序名稱] /模塊名/豆名稱/ [!完全限定接口名稱]

如果您將jar部署在.war文件內,那麼您的ejb將不會是獨立的Java EE模塊,並將與.war共享它的JNDI命名空間。