我是 EJB 3.1 领域的新手,并试图了解 JBoss Application Server 7.1 的一些基础知识。
目前我被困在一个 - 非常基本的 - 问题上。当服务器上的一个 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>");
那么这个解决方案对我有用,但问题是为什么?有人知道为什么第一个调用会产生异常而第二个调用正常吗?
非常感谢!