我试图从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
}