javax.naming.NameNotFoundException: Name not found in context ... -
当EJB发布到JBOSS时,如果我们没有为他指定全局JNDI名称或修改其默认EJB名称,JBOSS会按照默认的命名规则为EJB生成全局JNDI名称,默认的命名规则如下:
①:如果把EJB作为模块打包成*.ear的JAVA EE 企业应用文件,默认的全局JNDI名称是:
本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
EG:把HelloWorld应用作为EJB模块打包命名为HelloWorld.ear的企业应用文件,它的远程接口JNDI名称为:HelloWorld/HelloWorldBean/remote
②:如果把EJB应用打包为后缀为*.jar的模块文件,默认的全局JNDI名称是:
本地接口:EJB-CLASS-NAME/local
远程接口:EJB-CLASS-NAME/remote
EG:把HelloWord应用打包成HelloWorld.jar文件,它的远程接口为JNDI名称是:HelloWorldBean/remote