有状态会话bean与持久实体

时间:2012-07-06 21:20:13

标签: java persistence java-ee-6 stateful-session-bean

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

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

1 个答案:

答案 0 :(得分:1)

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

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

使用数据库持久性,购物车将永久存储,因此如果用户有一个装满的购物车,那么在6个月内不要访问网店,再次访问,购物车仍将被填充

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