gpt4 book ai didi

cdi - CDI 如何删除有状态 session bean?

转载 作者:行者123 更新时间:2023-12-04 15:25:36 27 4
gpt4 key购买 nike

规范说,当作用域的上下文即将被销毁时,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 容器移除实例?谢谢。

最佳答案

我认为 CDI 容器需要一个钩子(Hook)到 EJB 容器中,以要求它“如果 @Remove 方法刚刚完成,你会做什么”。查看 EJB 规范,EJB 2.1 在您必须扩展的接口(interface)中为此提供了一种机制。

出于显而易见的原因,不建议容器为副作用调用任意的 @Remove 注释方法。

关于cdi - CDI 如何删除有状态 session bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com