La especificación dice que el contenedor CDI elimina un SFSB cuando el contexto del alcance está a punto de destruirse. ¿Cómo elimina exactamente el EJB? No parece estar llamando al método anotado con @Remove.¿Cómo elimina CDI el bean de sesión con estado?
@Stateful
public class CustomerDAOImpl implements CustomerDAO {
@PreDestroy
public void onDestroy() {
//This is getting called as expected
}
@Remove
public void deleteMyBean() {
//This is not getting called!
}
}
Entonces, CDI está técnicamente haciendo lo que dice la especificación. La pregunta es ¿cómo se las arregla para pedir al contenedor EJB que elimine la instancia? Gracias.
Sí, ese es el comportamiento normal. ¿Pero cómo es el contenedor CDI eliminando el EJB? ¿Está utilizando algún tipo de API no documentada para solicitar al contenedor EJB que realice la eliminación? – RajV
@RajV No pude ubicarlo en la especificación, pero puede encontrar información útil en el tutorial de Java EE, en el tema 'El ciclo de vida de un bean de sesión de Stateful' en http://docs.oracle.com/javaee/5 /tutorial/doc/bnbmt.html –
@downvoter Atención para explicar por -1 –