有状态 session bean 通常通过实现购物车来说明。来自 Java EE 之外,我倾向于使用持久模型实体处理这种状态:带有产品和数量的 ShoppingCart 对象。这样,我的状态与所有其他状态一起由数据库维护,而不是由应用程序服务器维护。
与“普通”持久性相比,有状态 session bean 设计有哪些技术优势?基于 Java EE 的 Web 应用程序中的购物车是否确实通常使用 SFSB 编写,或者像其他系统一样只是通过更精细的领域建模来编写?
最佳答案
有几种方法可以实现购物车。 SFSB 和数据库持久性之间的主要区别在于持久性:)
有状态 session bean 只会在 session 期间“保留”数据。因此,如果用户 session 变为非 Activity 状态(例如,在 30 分钟不活动之后),购物车将被重置
由于数据库持久化,购物车将被永久存储,所以如果用户的购物车已装满,那么在 6 个月内不访问网上商店,再次访问时,购物车仍将装满
我认为通常使用第一种解决方案,因为涉及非内存数据库不是存储 volatile 数据的好主意。对于真正不需要长期持久化的数据,会有大量的硬盘I/O开销
关于java - 有状态 session bean 与持久实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11369787/