estoy tratando de inyectar un EJB con la anotación @EJB:WebSphere 7. Inyectar EJB desde otra aplicación
- cuando me inyecto un EJB en otro EJB en el mismo oído funciona bien.
- cuando me inyecto un EJB en otro EJB de otro oído en el mismo servidor I obtener una excepción:
EJB produjo una excepción inesperada (no declarado) durante la invocación de método "sayHello" . Datos de excepción: javax.ejb.EJBException: error de inyección ; excepción anidada es: com.ibm.ejs.container.EJBNotFoundException: EJB con interfaz com.mycompany.myapp.ejb.test2 no está presente en myapp1 aplicación
estoy usando WebSphere 7 y EJB 3.0. Cuando estoy haciendo una búsqueda jndi, funciona bien. ¿Cómo informo al contenedor dónde debo inyectar mis beans remotos?
myapp1.ear contiene lo siguiente: myapp1.jar (donde el EJB es)
myapp1 EJB:
package com.mycompany.myapp1.ejb.test1;
@Remote
public interface HelloEjb1 {
public String sayHello();
}
EJB 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 la siguiente : myapp2.jar (donde está el 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";
}
}
gracias, 'ibm-ejb-jar-bnd.xml' fue la clave –
¿Podría explicar un poco más sobre el primer enfoque (vinculante al implementar la aplicación)? Gracias. – MyTitle
He actualizado para agregar algunos enlaces de InfoCenter. Hay mucha información en el InfoCenter, pero si desea respuestas detalladas, podría ser más fácil comenzar una nueva pregunta. –