2012-08-15 18 views
13

Sto utilizzando EJB 3.0 con JBoss AS 7.1.1 Final. Sto ottenendo questo errore quando provo a collegare il mio client al server:Nessun ricevitore EJB disponibile per la gestione

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) 

Ecco la mia standalone.xml: http://pastebin.com/BuvQ6f2H

Ecco il mio jboss-ejb-client.properties: http://pastebin.com/mKpqZuZJ

Ecco il codice per il mio cliente: http://pastebin.com/wcVBZvKn

Il mio classpath contiene jboss-ejb-client.properties. Mi sono assicurato guardando nel manifest.

Quando avvio il cliente, con il server già in esecuzione, le stampe di server questo ogni volta:

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

Ho lavorato su questo problema per diversi giorni e non hanno trovato una soluzione . Qualsiasi aiuto sarebbe molto apprezzato. Se hai bisogno di altre informazioni da me rispetto a quello che ho postato non esitare a chiedere e lo posterò immediatamente.

risposta

22

Ho trovato la soluzione! Tutto quello che serviva era di aggiungere questa riga al mio codice cliente: jndiProperties.put("jboss.naming.client.ejb.context", true);

l'ho trovato in un commento pubblicato a questa domanda: https://community.jboss.org/message/747360?_sscc=t

+2

Ulteriori dettagli sulla configurazione chiamate EJB a distanza che è stata utile per me è http://blog.jonasbandi.net/2013/08/jboss-remote-ejb-invocation-unexpected.html e l'esempio correlato http://github.com/jbandi/JavaExamples/tree/master/ejbremote –