在JBoss中无法识别远程接口的查找

时间:2010-03-25 07:08:32

标签: java jboss ejb jndi

IPMBaseBean.class使用以下代码访问远程接口。

Object obj = iniCtx.lookup("java:/comp/env/ejb/ODIControllerSessionEJB");

jboss-web.xml jndi-name中提及如下

<ejb-ref-name>ejb/ODIControllerSessionEJB</ejb-ref-name>
<jndi-name>jnp://vwhq5275.whq.ual.com:6200/ODIControllerSessionEJB</jndi-name>

错误:

Naming exception 
javax.naming.NameNotFoundException: comp not bound..

请就此问题提出建议。

1 个答案:

答案 0 :(得分:0)

启动JBoss时,它显示全局JNDI名称,如下所示:

 15:26:47,394 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

        hrms/AccountSummarySessionBean/local - EJB3.x Default Local Business Interface
        hrms/AccountSummarySessionBean/local-com.cc.hrms.bl.accounts.generalaccount.session.AccountSummarySessionBeanLocal - EJB3.x Local Business Interface

然后,您可以使用该约定

进行查找

查找签名 - “hrms / AccountSummarySessionBean / local-com.cc.hrms.bl.accounts.generalaccount.session.AccountSummarySessionBeanLocal”

initialContext.lookup(ProjectConstants.PROJECT_NAME+className.getSimpleName().substring(0, className.getSimpleName().lastIndexOf("Local")) + "/local-" + className.getName());

我在JBoss-5&amp;这个约定适合我。