简体   繁体   English

Jboss AS 7.1.1最终本地JNDI EJB调用

[英]Jboss AS 7.1.1 Final Local JNDI EJB Invocation

Using Jboss AS 7.1.1 Final, I'm trying to invoke a Local EJB(3.1) through JNDI. 使用Jboss AS 7.1.1 Final,我试图通过JNDI调用本地EJB(3.1)。

My Local EJB is: 我的本地EJB是:

@Stateless(mappedName = "Services")
@LocalBean
public class Services implements ServicesLocal {
.....// scary stuffs here
}

My Interface Services is: 我的界面服务是:

@Local
public interface ServicesLocal {
.... // Some powerfull stuffs here
}

I'm trying to invoke this EJB above like this: 我试图像上面这样调用此EJB:

private ServicesLocal getLocalEJB() throws NamingException {
        log.info("\n\n\n\n\n\n\n\n ################## Getting the ServicesLocal");
        InitialContext context = new InitialContext();
        return (ServicesLocal) context.lookup("ejb:/global/docs/docs-ejb-0.1/Services!com.mycompany.docs.local.ServicesLocal");
    }

This is the error I'm getting when invoking this code above: 这是我在调用上面的代码时遇到的错误:

############ Getting the ServicesLocal ############ Get ServicesLocal

15:36:10,437 INFO [org.jboss.ejb.client] (http-localhost-127.0.0.1-8080-1) JBoss EJB Client version 1.0.5.Final 15:36:10,456 15:36:10,437 INFO [org.jboss.ejb.client](http-localhost-127.0.0.1-8080-1)JBoss EJB客户端版本1.0.5。最终15:36:10,456

ERROR [stderr] (http-localhost-127.0.0.1-8080-1) java.lang.IllegalStateException: No EJB receiver available for handling [appName:,modulename:global,distinctname:docs] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@396f6a24 15:36:10,457 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) ^Iat org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584) 错误[stderr](http-localhost-127.0.0.1-8080-1)java.lang.IllegalStateException:没有EJB接收器可用于处理调用上下文org.jboss.ejb的[appName:,modulename:global,distinctname:docs]组合.client.EJBClientInvocationContext @ 396f6a24 15:36:10,457错误[stderr](http-localhost-127.0.0.1-8080-1)^ Iat org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584)

And this is the JNDI log when the Jboss 7.1.1 Final boot. 这是Jboss 7.1.1最终启动时的JNDI日志。 Having the EJB that I want to invoke: 具有我要调用的EJB:

15:07:07,975 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-7) JNDI bindings for session bean named Services in deployment unit subdeployment "docs-ejb-0.1.jar" of deployment "docs.ear" are as follows: 15:07:07,975 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor](MSC服务线程1-7)在部署单元子部署“ docs-ejb-0.1.jar”中名为“服务”的会话bean的JNDI绑定部署“ docs.ear”如下:

java:global/docs/docs-ejb-0.1/Services!com.mycompany.docs.local.ServicesLocal
java:app/docs-ejb-0.1/Services!com.mycompany.docs.local.ServicesLocal
java:module/Services!com.mycompany.docs.local.ServicesLocal
java:global/docs/docs-ejb-0.1/Services!com.mycompany.docs.services.Services
java:app/docs-ejb-0.1/Services!com.mycompany.docs.services.Services
java:module/Services!com.mycompany.docs.services.Services

I think my context.lookup("ejb:/global/docs/docs-ejb-0.1/Services!com.mycompany.docs.local.ServicesLocal") is wrong. 我认为我的context.lookup("ejb:/global/docs/docs-ejb-0.1/Services!com.mycompany.docs.local.ServicesLocal")是错误的。 What I can do to fix that and invoke my Local EJB with JNDI? 我可以做些什么来解决该问题并使用JNDI调用我的本地EJB?

Have you tried to use what JBoss tells you? 您是否尝试使用JBoss告诉您的内容?

context.lookup("java:global/docs/docs-ejb-0.1/Services!com.mycompany.docs.local.ServicesLocal")

Your EJB is stored in java namespace, not in ejb one. 您的EJB存储在java名称空间中,而不存储在ejb

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM