首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB注入和ejb池

EJB注入和ejb池
EN

Stack Overflow用户
提问于 2015-09-01 21:05:32
回答 1查看 440关注 0票数 0

假设我们有2个EJB(例如无状态)A和B。

代码语言:javascript
复制
@Stateless
public class A {
    @EJB
    protected B binstance;
}

因此,在servlet中使用A bean之后,它应该返回到池中,问题是EJB容器是否从A“取消引用”B实例,即在下一次调用时,我们可以在同一个A实例中获得另一个B对象?当我们创建一个bean REST服务并在其中注入一些其他bean时,JAX-RS是否仍然有效?在这种意义上,JAX-RS bean是像servlet一样创建的,还是像普通EJB实例一样创建的(我的意思是,servlet仍然持有对bean实例的引用)?

EN

回答 1

Stack Overflow用户

发布于 2015-11-03 17:06:04

好的。因此,让我们从无状态bean开始。在无状态bean的情况下,对象池由bean容器控制。并且它可以在第一和第二请求中提供相同的对象,或者可以提供不同的对象。因此,在编码时,请牢记这一点。

现在来看Bean A和Bean B,当bean A执行完成时,Bean B可能会被解除引用。因为这完全是由Bean容器基于负载和bean A调用之间的持续时间来确定的。因此,不要依赖于每次都会得到相同的Bean B对象。

对于JAX-RS,rest实例的创建方式与普通EJB实例一样。如果rest bean是无状态的,则对其应用无状态bean规则。在这种情况下,您也无法控制在辅助rest调用中提供给您的实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32332481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档