本地EJB查找上的javax.naming.NameNotFoundException

时间:2019-07-18 08:40:12

标签: ejb wildfly jndi restcomm jain-slee

我试图从SLEE应用程序(非JavaEE)中检索部署在同一wildfly 10实例上的本地EJB。

在server.log上可以看到我的EJB(打包在evolution-ejb.jar中)已正确部署:

15:42:37,837信息[部署](MSC服务线程1-3)WFLYEJB0473:部署单元'部署'evolve-ejb.jar''中名为'InfinitRTBSManager'的会话bean的JNDI绑定如下:

java:global/evolve-ejb/InfinitRTBSManager!it.gruppoinit.evolve.domain.rtbs.RTBSManager
java:app/evolve-ejb/InfinitRTBSManager!it.gruppoinit.evolve.domain.rtbs.RTBSManager
java:module/InfinitRTBSManager!it.gruppoinit.evolve.domain.rtbs.RTBSManager
java:global/evolve-ejb/InfinitRTBSManager
java:app/evolve-ejb/InfinitRTBSManager
java:module/InfinitRTBSManager

我尝试使用以下代码从SBB查找我的EJB:

RTBSManager manager = (RTBSManager) InitialContext.doLookup("java:global/evolve-ejb/InfinitRTBSManager!it.gruppoinit.evolve.domain.rtbs.RTBSManager");

但是我收到以下错误:

javax.naming.NameNotFoundException: java:global/evolve-ejb/InfinitRTBSManager!it.gruppoinit.evolve.domain.rtbs.RTBSManager

我认为这与名称空间解析有关。 您能帮我找到我要去的地方吗,这是否是从非JavaEE上下文中查找本地EJB的正确方法?

这是我的EJB类:

@Stateless
@Local(RTBSManager.class)
public class InfinitRTBSManager implements RTBSManager<InfinitRTBSCall, Profilo> {
   //Implementation
}

这是我的本地界面:

public interface RTBSManager<C extends RTBSCall<P>, P extends RTBSProfile> extends Serializable {
   //public methods
}

0 个答案:

没有答案