找不到具有JNDI名称的组件 - org.omg.CosNaming.NamingContextPackage

时间:2017-09-28 16:55:33

标签: components ejb jndi naming

我正在尝试使用全名来访问我的EJB。名称是String

private final String ejbJndiLocation = "java:global/" + app
        + ".ear/myApp-ejb.jar/MyEjbModule!com.ejb.service.impl.MyEjbModule";

这是我在WAS上安装已安装的应用程序时的确切名称。但是,当我访问它时:

context = new InitialContext();
MyEjbModule = (MyEjbLocal) context.lookup(ejbJndiLocation);

我得到以下异常:

  

javax.naming.NameNotFoundException:上下文:MC41367Node01Cell / applications,name:myApp.ear / myApp.ear / myApp-ejb.jar / MyEjbModule!com.ejb.service.impl.MyEjbModule:名称为myApp.ear的第一个组件未找到/myApp.ear/myApp-ejb.jar/MyEjbModule!com.ejb.service.impl.MyEjbModule。 [root例外是org.omg.CosNaming.NamingContextPackage.NotFound:IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]       at com.ibm.ws.naming.jndicos.CNContextImpl.mapNotFoundException(CNContextImpl.java:4564)       在com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1822)       在com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1777)       在com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt(CNContextImpl.java:1434)       ...       引起:org.omg.CosNaming.NamingContextPackage.NotFound:IDL:omg.org/CosNaming/NamingContext/NotFound:1.0       at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.handleNameNotFound(WsnOptimizedNamingImpl.java:2534)       at com.ibm.ws.naming.ipcos.WsnOptimizedNamingImpl.getNextWsnOptimizedNamingContext(WsnOptimizedNamingImpl.java:1277)       在com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase $ 3.run(WsnOptimizedNamingImplBase.java:4670)       在com.ibm.ws.naming.cosbase.WsnOptimizedNamingImplBase $ 3.run(WsnOptimizedNamingImplBase.java:4665)

有没有办法找出服务器上的全名?我真的需要用全名访问它。

技术:Java6EJB 3.1Websphere Server 8.5

0 个答案:

没有答案