Sto cercando di iniettare un EJB con l'annotazione @EJB:WebSphere 7. Iniettare EJB da un'altra applicazione
- quando ho iniettare un EJB in un altro EJB nello stesso orecchio funziona benissimo.
- quando ho iniettare un EJB in un altro EJB da un altro orecchio sullo stesso server ottengo un'eccezione:
EJB ha gettato un'eccezione imprevista (non dichiarata) durante l'invocazione del metodo "sayHello" . Dati di eccezione: javax.ejb.EJBException: Iniezione errore; l'eccezione annidata è: com.ibm.ejs.container.EJBNotFoundException: EJB con interfaccia com.mycompany.myapp.ejb.test2 non presente in applicazione myapp1
sto utilizzando WebSphere 7 e EJB 3.0. Quando sto facendo una ricerca jndi, funziona perfettamente. Come faccio a far sapere al container dove iniettare i miei fagioli remoti?
myapp1.ear contiene: myapp1.jar (dove il bean è)
myapp1 bean:
package com.mycompany.myapp1.ejb.test1;
@Remote
public interface HelloEjb1 {
public String sayHello();
}
bean Impl:
package com.mycompany.myapp.ejb.test1;
@Stateless
public class HelloEjbImpl1 implements HelloEjb1 {
@EJB
HelloEjb2 helloEjb2;
@Override
public String sayHello() {
return HelloEjb2.sayHello();
}
}
myapp2.ear contiene il seguente : myapp2.jar (dove è EJB)
myapp2 EJB:
package com.mycompany.myapp2.ejb.test2;
@Remote
public interface HelloEjb2 {
public String sayHello();
}
EJB Impl:
package com.mycompany.myapp2.ejb.test2;
@Stateless
public class HelloEjbImpl2 implements HelloEjb2 {
@Override
public String sayHello() {
return "Hello";
}
}
grazie, 'ibm-ejb-jar-bnd.xml' era la chiave –
Potresti spiegare un po 'di più sul primo approccio (vincolante durante la distribuzione dell'applicazione)? Grazie. – MyTitle
Ho aggiornato per aggiungere alcuni collegamenti a InfoCenter. Ci sono molte informazioni nell'InfoCenter, ma se vuoi risposte dettagliate, potrebbe essere più facile iniziare una nuova domanda. –