2012-08-15 17 views
13

Estoy usando EJB 3.0 con JBoss AS 7.1.1 Final. Estoy consiguiendo este error cuando intento conectar mi cliente al servidor:No hay receptor EJB disponible para manejar

Aug 15, 2012 12:05:00 PM org.jboss.ejb.client.EJBClient <clinit> 
INFO: JBoss EJB Client version 1.0.5.Final 
Exception in thread "main" java.lang.IllegalStateException: No EJB receiver available for handling 
[appName:GrahamsProjServer,modulename:GrahamsProjServer,distinctname:] combination for invocation context org.jboss.ejb.client.EJBClientInvoc 
[email protected] 
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584) 
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119) 
    at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181) 
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136) 
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121) 
    at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104) 
    at $Proxy0.test(Unknown Source) 
    at grahamsprojclient.main.Start.testItAll(Unknown Source) 
    at grahamsprojclient.main.Start.main(Unknown Source) 

Aquí está mi standalone.xml: http://pastebin.com/BuvQ6f2H

Aquí está mi jboss-ejb-client.properties: http://pastebin.com/mKpqZuZJ

Aquí está el código para mi cliente: http://pastebin.com/wcVBZvKn

Mi classpath contiene jboss-ejb-client.properties. Me aseguré de mirar el manifiesto.

Cuando comienzo hasta el cliente, con el servidor ya se está ejecutando, se imprime el servidor esto cada vez:

12:05:00,330 INFO [org.jboss.as.naming] (Remoting "h890bp1" task-3) JBAS011806: Channel end notification received, closing channel Channel ID 2ea5a90b (inbound) of Remoting connection 11d4c3d5 to /127.0.0.1:51992

que han estado trabajando en este problema durante varios días y no han encontrado una solución . Cualquier ayuda sería muy apreciada. Si necesita cualquier otra información mía que la que publiqué, no dude en preguntar y la publicaré inmediatamente.

Respuesta

22

¡Encontré la solución! Todo lo que necesitaba era añadir esta línea a mi código de cliente: jndiProperties.put("jboss.naming.client.ejb.context", true);

lo encontré en un comentario publicado a esta pregunta: https://community.jboss.org/message/747360?_sscc=t

+2

Más detalles sobre la configuración de las llamadas EJB remoto que ha sido útil para mí es http://blog.jonasbandi.net/2013/08/jboss-remote-ejb-invocation-unexpected.html y el ejemplo relacionado http://github.com/jbandi/JavaExamples/tree/master/ejbremote –

Cuestiones relacionadas