gpt4 book ai didi

java - 使用数据库时的 EJB 有状态 session Bean 与无状态 session Bean

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:35 24 4
gpt4 key购买 nike

我对有状态 session Bean (SFSB) 与无状态 session Bean (SLSB) 的使用有点困惑。

我了解 SFSB 与客户端维护状态。这有帮助:When to use Stateful session bean over Stateless session bean?

此处和许多其他地方提供的示例是 SFSB 的购物车。

我的问题是如果应用程序由数据库支持,为什么还需要 SFSB?购物车通常会在每次发生更改时更新数据库吗?或者状态是否驻留在 SFSB 中,直到不需要它为止(然后转储到数据库),就像某种缓存一样?

“如果任务需要一系列方法调用(多个),并且您需要保留以前的结果以便在下一次调用中使用它们,则可以使用 SFSB” - source 。这更像是结账(页面之间的表单??),直到最后一页,数据库中才会保存任何内容。但对于购物车,我会想象每当用户将东西添加到购物车时都会写入数据库?

或者我错过了 SFSB 的要点:)

最佳答案

我过去花了很多时间试图找到除(明显的)购物车之外的其他示例,但没有成功。

在我看来,Stateful bean 仅属于 JSE 领域,其中客户端没有 HTTPSession 之类的东西。因此,向服务器维护其状态的唯一方法是保留对有状态代理对象的引用。在许多 Oracle/Sun 文档中,有状态被称为客户端到服务器的扩展(或相反)。

过去,我实际上编写了一些由 Stateful bean 支持的 JSE 主类,用于快速管理目的:关闭/修改帐户、监控等...

对于您的其余问题:

当我们谈论 JEE 领域(主要是 Web 应用程序)时,您实际上有几个选项来保持客户端状态:将所有篮子都存储在内存中的 HTTPSession,或者对篮子的引用及其 ID 的引用可能在 session 中以及从 session 到用于存储对象的数据库的往返过程中。选择哪种方法各有利弊。

有时我发现 Stateful bean 被保存在 http session 中的示例。我发现这种方法很奇怪。老实说,我还没有发现在生产版本中将 Stateful 存储在 session 中。

关于java - 使用数据库时的 EJB 有状态 session Bean 与无状态 session Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43208031/

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