gpt4 book ai didi

java ejb3 @PostConstruct

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:49 26 4
gpt4 key购买 nike

我正在 JBoss 上试验 EJB3,开发无状态 bean。基本上一旦部署了模块,我就需要执行一些与加载应用程序设置相关的操作。为此,我将一个方法注释为@PostConstruct,据我所知,API 指示容器在 bean 部署后和投入使用之前调用它。 (正确的?)现在,我很困惑,因为从日志上看,该方法并不是在部署之后简单地调用,而是在调用每个公开的方法之前调用。我只需要调用该方法一次,而不是每次它收到调用时。什么是最好的方法?

提前致谢

亚历山德罗·伊拉多

最佳答案

无状态 bean 应该就是无状态的。这意味着在使用中,您既不能分辨也不能关心 bean 是从池中提取的还是根据您的请求按需构建的。我很难想象 PostConstruct 如何应用于无状态环境,因为我总是使用该函数来完成构建 bean 的状态。

显然,JBoss 要么放弃无状态 bean 的池化并每次都重新构建它们,要么,如果它使用池化,则将它们视为每次都被重建(因为它们不应该携带状态信息)。实际上我有点惊讶它会调用 PostConstruct。

关于java ejb3 @PostConstruct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1108829/

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