Tengo un EJB sin estado que Accesos mi base de datos. necesito este bean en un convertidor JSF 2 a retreive un objeto de entidad a partir del parámetro valor de cadena. Estoy usando JEE6 con Glassfish V3.Inyectar un EJB en un convertidor de JSF con JEE6
@EJB
anotación no funciona y obtiene un NPE, porque está en el contexto de las caras y no tiene acceso al contexto EJB.
Mi pregunta es: ¿Todavía es posible inyectar este bean con un @Resource
u otra anotación, o una búsqueda JNDI, o necesito una solución?
Solución
hacer una búsqueda JNDI de esta manera:
try {
ic = new InitialContext();
myejb= (MyEJB) ic
.lookup("java:global/xxxx/MyEJB");
} catch (NamingException e) {
e.printStackTrace();
}
búsqueda JNDI no funciona. Intenté @EJB (mappedName = "java: global/myProject/myEJB") donde el valor que glassfish genera en la consola como "nombre JNDI portátil" de mi EJB al implementar –
no utiliza la anotación @EJB. Obtenga el componente de destino usando InitialContext. – Bozho
@Bozho: ¡InitialContext funcionó! :) Gracias –