4

有状态会话 bean 通常通过实现购物车来说明。来自 Java EE 外部,我倾向于使用持久模型实体来处理这种状态:具有 Products 和数量的 ShoppingCart 对象。这样,我的状态与我的所有其他状态一起由数据库维护,而不是由应用程序服务器维护。

与“普通”持久性相比,有状态会话 bean 设计的技术优势是什么?基于 Java EE 的 Web 应用程序中的购物车是否确实通常使用 SFSB 编写,或者在其他系统中仅通过更精细的域建模来编写?

4

1 回答 1

1

有几种方法可以实现购物车。SFSB 和 DB 持久性之间的主要区别是持久性:)

有状态会话 bean 只会在会话期间“保留”数据。因此,如果用户会话变为非活动状态(例如 30 分钟不活动后),购物车将被重置

数据库持久化后,购物车会被永久存储,所以如果用户的购物车已经装满,那么在6个月内不要访问网店,再次访问,购物车还是会被装满

我认为通常使用第一个解决方案,因为涉及非内存数据库不是存储易失性数据的好主意。对于不需要长期持久性的数据,将会有大量的硬盘 I/O 开销

于 2012-07-07T07:32:27.760 回答