【问题标题】:What is the life of @Stateless EJB injected into JSF @SessionScoped?注入 JSF @SessionScoped 的 @Stateless EJB 的生命周期是什么?
【发布时间】:2013-05-16 06:16:13
【问题描述】:

我正在转换一些代码以利用 EJB 3,并且我想出了一个场景,我将一个 @Stateless EJB 注入到使用 @SessionScoped 注释的 JSF 托管 bean 中。

我想知道这对 EJB 的生命周期有何影响?它是否保持无状态并在每次调用其方法之一后被销毁,或者在会话期间是否存在相同的 bean?

【问题讨论】:

  • 您是否想知道会发生什么,或者至少尝试过但遇到错误?
  • 我没有错误,但问题是除非我理解它,否则可能会导致错误。我试图确定是否在会话的生命周期内维护对 EJB 的引用,或者每次访问 ejb 时我是否都会获得新的引用。

标签: jsf ejb-3.0 stateless session-scope


【解决方案1】:

由于无状态 EJB 会话 bean 由服务器池化,因此它们的生命周期和其他会话范围 bean 的生命周期没有直接关系。 网络服务器在需要时创建和销毁此类 bean。
来自 EJB 规范:

容器可以随时执行实例创建——与客户端调用业务方法或创建方法没有直接关系。

有关更多信息,请参阅specification(大约第 99 页)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-30
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    相关资源
    最近更新 更多