我是EJB 3.1領域的新手,並試圖通過JBoss Application Server 7.1獲得一些基礎知識。JBoss 7.1中的InitialContext.lookup()參數
目前我被困在一個非常基本的問題。當服務器上的bean想要使用另一個bean時,我需要使用InitialContext.lookup()方法。如果我查看文獻,我發現如下呼叫:
TheBean = (<Interface>) new InitialContext().lookup("<NameOfTheBean>/local");
但是這個調用不適用於我。每次我得到一個錯誤這樣的:
javax.ejb.EJBException: javax.naming.NameNotFoundException
後的尋找一個解決方案小時,我發現它使用另一種呼叫,像這樣的代碼示例:
TheBean = (<Interface>) new InitialContext().lookup("ejb:/<Package>//<NameOfTheBean>!<Package>.<Interface>");
那麼這個解決方案適用於我,但問題是爲什麼?有人知道爲什麼第一次調用產生異常,而第二次調用正常嗎?
非常感謝!
你真的需要一個JNDI查找嗎? 「@ EJB」是不是也適用? –