shenzhanwang

Results 5 comments of shenzhanwang

我感觉是不是主事务失败后直接回滚try操作,cancel方法永远不会执行。

所以主事务一旦失败,相当于什么都没做

我觉得这样设计并不太合理,因为这样子的话,主事务的cancel方法就白写了。实际上cancel阶段可以用来设置一下订单支付失败的状态,如果什么都不做,那订单的状态还是未支付。

还有一个地方不太合理,即使我们主事务的try阶段catch到了分支事务抛出的异常,也不该就此进入confirm阶段,因为毕竟分支事务调用是存在异常的。这种情况还是应该进入cancel阶段。

那照这么说主事务的cancel代码永远不会执行了,因为直接被失败的try阶段回滚了