如何在Spring MVC中回滚Web服务

时间:2016-07-04 11:23:58

标签: java web-services rest spring-mvc

我有多个网络服务可以打电话。

假设我调用webservice将一些数据保存到本地DataBase。在我收到来自网络服务的回复之后,我会检查以下情况的响应:

1-让我们先服务成功,第二次也是 2-让我们考虑第三个webService失败,在这种情况下,我需要回滚第一个和第二个Web服务调用!

我该怎么做?

2 个答案:

答案 0 :(得分:1)

没有回滚。想象一下以下过程:

  • 您预订活动门票
  • 您预订航班以参加活动
  • 您想预订活动地点附近的酒店房间。

现在没有免费房间,所以你决定不参加活动。您无法“回滚”航班预订。您需要取消航班,甚至可能需要付费。

因此,如果您已拨打网络服务预订航班,则必须致电网络服务以取消航班。

答案 1 :(得分:0)

拉​​维,

有一种叫做Transaction的东西,当它用于Distributed时,它被称为XATransaction。

希望这会有所帮助:basic spring based transaction

With and without XATransaction

您必须记住,您的要求是全局事务,任何异常将回滚所有事务(插入...等处理)。