【问题标题】:Stateless and stateful session beans in backingbeansbackingbeans 中的无状态和有状态会话 bean
【发布时间】:2012-01-23 19:26:08
【问题描述】:

我有点不确定不同类型的会话 bean 以及如何在 JSF 的支持 bean 中正确使用它们。

当业务流程可以在一次调用中完成时使用的无状态会话bean。 当业务流程需要在多个步骤中完成并且您希望在调用之间“缓存”服务器上的数据时,使用有状态会话 bean。这些类型具有不同的性能和您必须考虑的事项。我想我理解这部分,假设您有一个无状态会话bean,它检索用户并代表用户执行单任务。

然后我希望该无状态会话bean 检索到的用户在JSF 中可用一段时间。您是否将此无状态 sessionbean 注入到 sessionscoped 支持 bean 中?这个注入的无状态 sessionbean 会发生什么,它不会在 sessionscoped 支持 bean 被删除之前返回到池中,对吗?那么这可能是一种资源消耗?

然后我想到了将无状态 sessionbean 变成有状态 sessionbean 并让 backingbean 改为 requestscoped。

我对 backingbeans 和 EJB 中的不同范围有点困惑。

【问题讨论】:

标签: java jsf jakarta-ee ejb


【解决方案1】:

HttpSession 不同于 EJB 会话。因此,当您从会话范围的托管 bean 调用 SLSB 时,将仅使用池中的 SLSB,并且在请求完成后将返回到池中。因此,单个 SLSB 不会绑定到客户端托管 bean。我相信最好有一个会话范围的托管 bean,而不是一个请求范围的来管理用户会话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 2013-08-02
    相关资源
    最近更新 更多