如何为多个请求预先处理事务

时间:2011-08-30 04:53:23

标签: spring transactions

我们可以为多个请求传播事务。例如在线购买。

用户选择订单项和

步骤1:在单击按钮选择项目后,应在仓库表中搜索项目,以获取所需数量。搜索后,它将显示具有可用性的项目表。

步骤2:用户克隆过程而不是从仓库表中扣除可用项目并计算总数并显示订单表。

第3步:用户点击结帐按钮并输入信用卡详细信息,处理订单。

我希望所有这三个步骤都应该在一个事务中执行。是否有可能在春季交易管理。

2 个答案:

答案 0 :(得分:1)

从理论上说这是可能的,但想法却很糟糕。例如,用户可能会在完成交易之前去吃午餐,并且您将一直锁定数据库对象,以防止在最坏的情况下系统无法运行。

答案 1 :(得分:0)

是的,这实际上只是一个流程,分布在三个步骤中,但是在用户提交购买之前,交易实际上不应该开始。如果用户在中间中止该过程(例如,放弃非空购物车),则不应该开始DB或CC交易。仅在过程的最后执行tx,并且在那一刻同时执行DB和CC处理。