スコープのコンテキストが破棄されようとしているとき、CDIコンテナはSFSBを削除します。どのようにEJBを完全に削除するのですか? @Removeでアノテーションされたメソッドを呼び出すようではありません。CDIはどのようにステートフルセッションBeanを削除しますか?
@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コンテナにインスタンスを削除するように依頼することです。ありがとう。
はい、これは正常な動作です。しかし、CDIコンテナはEJBをどのように削除していますか? EJBコンテナに削除を実行するように要求するには、文書化されていないAPIを使用していますか? – RajV
@RajV私は仕様で見つけられませんでしたが、Java EEチュートリアルの「ステートフルセッションBeanのライフサイクル」http://docs.oracle.com/javaee/5で役に立つ情報を見つけることができます/itutorial/doc/bnbmt.html –
@downvoter -1 –