Спецификация говорит, что контейнер CDI удаляет SFSB, когда контекст области собирается быть уничтоженным. Как именно он удаляет EJB? Похоже, он не вызывает метод с аннотацией @Remove.
@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!
}
}
Таким образом, CDI технически делает то, что говорит спецификация. Вопрос в том, как ему удается попросить контейнер EJB удалить экземпляр? Спасибо.