Как CDI удаляет сеансовый компонент с отслеживанием состояния?

Спецификация говорит, что контейнер 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 удалить экземпляр? Спасибо.

6
задан RajV 1 May 2012 в 20:00
поделиться